1

2つのテーブルT1とT2を比較し、form_noが選択されたformT2よりも小さいform_noを持つレコードをT1から削除したいと思います。次のクエリを作成しましたが、機能していません。

DELETE FROM T1
WHERE --Some Condition--
AND
FORM_NO < (ISNULL((SELECT DISTINCT(FORM_NO) FROM T2 WHERE --Some Condition--), 0))
4

2 に答える 2

1

これを試してみてください...ただし、完全なクエリを提供していただければ幸いです..

DELETE FROM T1
WHERE --Some Condition--
AND FORM_NO IN (SELECT DISTINCT(t.FORM_NO) FROM T1 AS t
        LEFT JOIN T2 AS s
        ON -- COMMON COLUMN
        WHERE t.FORM_NO < s.FORM_NO)
于 2012-12-07T06:45:02.300 に答える
0

共通フィールドがあり、このフィールドの結合を削除したい場合:

delete from t11 
    from t1 t11
        join t2 on (t11.commonID=t2.commonID)
    where (t11.FORM_NO<t2.FORM_NO)

あなたが求めるものを正確に望むなら:

delete from t1 where FORM_NO<(select min(FORM_NO) from t2) 
于 2012-12-07T07:12:43.857 に答える