-1

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

例如:

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

谁能给我一些示例查询

4

3 回答 3

0

如果我对您的理解正确,那么这应该对您有用:

Select * From AddressTable at Where at.Address + ',' + at.City + ',' + at.State = @YourVariable

如果您的任何变量不是基于文本的,则需要在连接之前进行转换,如下所示:

Cast(Name as NVarChar(max))
于 2012-12-28T18:45:50.447 回答
0

如果我理解正确,则连接字段与单个字段在同一个表中,并且您正在查看值是否在每条记录的基础上匹配。如果是这样的话,那么像这样

UPDATE [AddressTable] at
SET at.[Indicator] = '*'
WHERE at.[address,city,state] = at.[Address] + ',' + at.[City] + ',' + at.[State];
于 2012-12-28T18:54:15.527 回答
0

如果我理解你的问题,这应该是解决方案:

SELECT
  CASE
    WHEN (SELECT COUNT(*) FROM AddressTable WHERE Address = a.Address) > 1 THEN '* ' + Address
    ELSE Address
  END
FROM AddressTable a
于 2012-12-28T20:05:40.383 回答