OrderTable と OrderDetailTable の 2 つのテーブルがあります。
OrderDetailTable に行がない OrderTable から行を選択しようとしているので、それらを削除できます。
OrderTable と OrderDetailTable の 2 つのテーブルがあります。
OrderDetailTable に行がない OrderTable から行を選択しようとしているので、それらを削除できます。
id
2 つのテーブル間に関係があると仮定します。
select * from OrderTable
where orderdetails_id not in (select id from OrderDetailTable)
それらを削除するには
delete from OrderTable
where orderdetails_id not in (select id from OrderDetailTable)
OrderTable に列 ID があり、OrderDetailTable に列 orderTable_id があるとします。
select * from OrderTable
WHERE id not in (
select ot.id from OrderTable ot inner join OrderDetailTable odt on odt.orderTable_id = ot.id
)
SELECT o.*
FROM OrderTable o
LEFT JOIN OrderDetailTable od ON od.idOrderTable = o.id
WHERE od.id IS NULL;
od.id は、null にできない OrderDetailTable の任意のフィールドにすることができます。