削除された重複レコードへのクエリを次の表(valid_columns)から作成し、最も低い[order]番号のレコードのみを保持しようとしています。SQLサブクエリを削除し、重複したレコードを削除しました
たとえば、次の表では、重複する行、領域2,3、およびジョブ3を削除し、できるだけ少ない[順序]でレコードを保持したいと考えています。
など。私はバグを修正しようとしていると私はSQLを理解することはできません
name col_order
-------------
job 1
status 2
cust 2
county 1
state 1
region 1
so 4
:
name col_order
-------------
job 1
job 3
status 2
cust 2
county 1
state 1
region 1
region 2
region 3
so 4
所望の出力:入力テーブルは、valid_columnsは次のようになります。現在は、削除文とサブクエリを使用しています。現時点で使用されたクエリは次のようになります。
から3)を
DELETE
FROM valid_columns
WHERE NOT (col_order = (SELECT TOP 1 col_order
FROM valid_columns firstValid
WHERE name = firstValid.name
AND col_order = firstValid.col_order
ORDER BY col_order ASC))
重複列を削除しかし、これは唯一間違っている以下、返します
name col_order
-------------
job 1
county 1
state 1
region 1
感謝
を
where句で相関サブクエリを使用するとちょっと混乱しますが、簡単に答えを展開できますか?それはうまくいくように見えます。 – bobbo