我的查询中有一个名为地址的字段。现在这是要求:如果此地址等于包含该地址的另一个字段,则给出一些指示,如 (*)
例如:
这个字段:[address,city,state] 使用 , 连接。地址、城市和州是表中的不同字段。我已经使用 , 连接了。现在我想验证这整个字段是否等于另一个包含地址、城市、州的字段。
谁能给我一些示例查询
我的查询中有一个名为地址的字段。现在这是要求:如果此地址等于包含该地址的另一个字段,则给出一些指示,如 (*)
例如:
这个字段:[address,city,state] 使用 , 连接。地址、城市和州是表中的不同字段。我已经使用 , 连接了。现在我想验证这整个字段是否等于另一个包含地址、城市、州的字段。
谁能给我一些示例查询
如果我对您的理解正确,那么这应该对您有用:
Select * From AddressTable at Where at.Address + ',' + at.City + ',' + at.State = @YourVariable
如果您的任何变量不是基于文本的,则需要在连接之前进行转换,如下所示:
Cast(Name as NVarChar(max))
如果我理解正确,则连接字段与单个字段在同一个表中,并且您正在查看值是否在每条记录的基础上匹配。如果是这样的话,那么像这样
UPDATE [AddressTable] at
SET at.[Indicator] = '*'
WHERE at.[address,city,state] = at.[Address] + ',' + at.[City] + ',' + at.[State];
如果我理解你的问题,这应该是解决方案:
SELECT
CASE
WHEN (SELECT COUNT(*) FROM AddressTable WHERE Address = a.Address) > 1 THEN '* ' + Address
ELSE Address
END
FROM AddressTable a