SQL 服务器 Select 来自 table 的值对,如果值对存在(由子字符串定义)
SQL Server Select value pairs from table if the value pair exists (as defined by a substring)
如果一个值等于另一个值并连接了一个子字符串,我如何 select 我的 table 中的一个值对?我有一个包含图书馆扫描卡的 SQL 服务器 table,这里显示了模型。
Name Status Activation_Date
John_Doe Active 1-1-2015
Jane_Smith Inactive 2-2-2014
Jane_Smith_1 Active 1-2-2015
在此 table 中,当顾客丢失 his/her 卡时,旧卡将被停用,并创建一张新卡。该名称是主键,因此由于使用了先前的键,因此添加了“_1”后缀。
我希望我的结果显示 "Jane_Smith" 和 "Jane_Smith_1" 的记录。
如果您正在尝试 return 一个所有行的列表,其中 table 中存在另一行匹配名称但对于 _1,这样的事情怎么样:
SELECT *
FROM YourTable A
WHERE EXISTS (
SELECT 1
FROM YourTable
WHERE REPLACE(Name,'_1','') = REPLACE(A.Name,'_1','')
AND Name <> A.Name
)
如果一个值等于另一个值并连接了一个子字符串,我如何 select 我的 table 中的一个值对?我有一个包含图书馆扫描卡的 SQL 服务器 table,这里显示了模型。
Name Status Activation_Date
John_Doe Active 1-1-2015
Jane_Smith Inactive 2-2-2014
Jane_Smith_1 Active 1-2-2015
在此 table 中,当顾客丢失 his/her 卡时,旧卡将被停用,并创建一张新卡。该名称是主键,因此由于使用了先前的键,因此添加了“_1”后缀。
我希望我的结果显示 "Jane_Smith" 和 "Jane_Smith_1" 的记录。
如果您正在尝试 return 一个所有行的列表,其中 table 中存在另一行匹配名称但对于 _1,这样的事情怎么样:
SELECT *
FROM YourTable A
WHERE EXISTS (
SELECT 1
FROM YourTable
WHERE REPLACE(Name,'_1','') = REPLACE(A.Name,'_1','')
AND Name <> A.Name
)