私は3つのテーブルを持っています。製品、バリエーション、在庫{簡略化}
PRODUCTS ID名は廃止されました(ENUM:0または1)など
VARIANTSidproduct_idカラーサイズ
STOCK id Variant_id branch_id
ユーザーがPRODUCTの中止を選択した場合、中止フラグを1に設定しました。これで問題ありませんが、製品のSTOCKレコードがない場合は、PRODUCTレコードとVARIANTSレコードを完全に削除したいと思います。明らかに、PHPで最初にSELECTクエリを使用してこれを実行できますが、1つのmySQLクエリで実行したいと思います。これは私がこれまでに持っているものですが、mySQLからエラーを返しています:
$query = "DELETE FROM prod_lines,
JOIN variants ON variants.lineid = prod_lines.id
WHERE prod_lines.id = '$lineid' AND
(SELECT COUNT(id) FROM stock WHERE stock.variantid = variants.id) = 0";
誰かが私が正しい解決策を考え出すのを手伝ってくれる?たぶん、サブクエリさえ含まないより良い方法がありますか?
前もって感謝します