私のクエリにはアドレスと呼ばれるフィールドがあります。要件は次のとおりです。このアドレスが、アドレスを含む別のフィールドと等しい場合は、(*) のような指示を与えます。
例:
このフィールド: [住所、都市、州] を使用して連結されます。住所、都市、州は、テーブル内の異なるフィールドです。, を使用して連結しました。ここで、このフィールド全体が、住所、都市、州を含む別のフィールドと等しいことを確認したいと思います。
誰かサンプルクエリを教えてください
私のクエリにはアドレスと呼ばれるフィールドがあります。要件は次のとおりです。このアドレスが、アドレスを含む別のフィールドと等しい場合は、(*) のような指示を与えます。
例:
このフィールド: [住所、都市、州] を使用して連結されます。住所、都市、州は、テーブル内の異なるフィールドです。, を使用して連結しました。ここで、このフィールド全体が、住所、都市、州を含む別のフィールドと等しいことを確認したいと思います。
誰かサンプルクエリを教えてください
私があなたの質問を理解しているなら、これが解決策になるはずです:
SELECT
CASE
WHEN (SELECT COUNT(*) FROM AddressTable WHERE Address = a.Address) > 1 THEN '* ' + Address
ELSE Address
END
FROM AddressTable a
私が正しく理解している場合、連結されたフィールドは個々のフィールドと同じテーブルにあり、レコードごとに値が一致するかどうかを確認しています。だとすると、こんな感じ
UPDATE [AddressTable] at
SET at.[Indicator] = '*'
WHERE at.[address,city,state] = at.[Address] + ',' + at.[City] + ',' + at.[State];
私があなたを正しく理解しているなら、これはあなたのために働くはずです:
Select * From AddressTable at Where at.Address + ',' + at.City + ',' + at.State = @YourVariable
変数のいずれかがテキストベースでない場合は、次のように、連結する前にキャストする必要があります。
Cast(Name as NVarChar(max))