比较地址

时间:2012-12-28 18:34:56

标签: sql sql-server sql-server-2008 sql-server-2008-r2

我的查询中有一个名为address的字段。现在这里是要求:如果这个地址等于包含地址的另一个字段,则给出一些指示,如(*)

例如:

这个领域: 使用的连接的[地址,市,州]。地址,城市和州是表中的不同字段。我已经连接使用,。现在我想验证整个字段是否等于包含地址,城市,州的另一个字段。

任何人都可以给我一些示例查询

3 个答案:

答案 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