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