2012-12-28 103 views
-1

我的查詢中有一個叫做地址的字段。現在這裏是要求:如果這個地址等於包含地址的另一個領域給予一定的指示像(*)比較地址

對於如:

此領域: [地址,城市,州]這連接使用,。地址,城市和州是在表中的不同領域。我已經連接使用,。現在我想驗證這個整個字段是否等於另一個包含地址,城市,州的字段。

任何人都可以給我一些簡單的查詢

+0

希望與每個列的比較[地址,城市,州]分開? –

回答

0

如果我理解你正確地那麼這應該爲你工作:

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

如果您的變量不是基於文本的你需要投如下所示:

Cast(Name as NVarChar(max)) 
0

如果我的理解正確,拼接字段與單個字段位於同一個表中,並且您正在查看是否值匹配在每個記錄的基礎上。如果是這樣的話,那麼這樣的事情

UPDATE [AddressTable] at 
SET at.[Indicator] = '*' 
WHERE at.[address,city,state] = at.[Address] + ',' + at.[City] + ',' + at.[State]; 
0

如果我明白你的問題,這應該是解決方案:

SELECT 
    CASE 
    WHEN (SELECT COUNT(*) FROM AddressTable WHERE Address = a.Address) > 1 THEN '* ' + Address 
    ELSE Address 
    END 
FROM AddressTable a