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))
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))
これを試してみてください...ただし、完全なクエリを提供していただければ幸いです..
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)
共通フィールドがあり、このフィールドの結合を削除したい場合:
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)