2 つの列 (ColA、ColB) があり、どちらも Nvarchar データ型です。
ColA の値に対して col B を一意にする必要があります
一部の行には、ColA に 2 つの異なる値があり、ColB には同じ値 (一意ではない) があります。
ColA の値が別のものに変化している、最後に文字 "D" (重複として) と共に ColB 値を表示するクエリを作成したいと考えています。
2 つの列 (ColA、ColB) があり、どちらも Nvarchar データ型です。
ColA の値に対して col B を一意にする必要があります
一部の行には、ColA に 2 つの異なる値があり、ColB には同じ値 (一意ではない) があります。
ColA の値が別のものに変化している、最後に文字 "D" (重複として) と共に ColB 値を表示するクエリを作成したいと考えています。
私が理解できる限り、ColB 値を変更する必要がある行をマークする必要があります。
もしそうなら、このようなことを試してください
SELECT t1.COLA,
t1.COLB + 'D'
FROM TABLE1 t1
INNER JOIN TABLE1 t2
ON t1.COLB = t2.COLB
AND t1.COLA != t2.COLA
これは、「ダブル」行のみを表示します。すべての行を表示したい場合は、末尾に UNION を追加するだけです:
SELECT t1.COLA,
t1.COLB + 'D'
FROM TABLE1 t1
INNER JOIN TABLE1 t2
ON t1.COLB = t2.COLB
AND t1.COLA != t2.COLA
UNION
SELECT *
FROM TABLE1
WHERE COLA NOT IN (SELECT t1.COLA
FROM TABLE1 t1
INNER JOIN TABLE1 t2
ON t1.COLB = t2.COLB
AND t1.COLA != t2.COLA)
SQL Fiddleで完全な例を参照してください。