我有這個疑問MySQL的:如何在WHERE IN子句
SELECT a.album_id parent, a2.album_id child
FROM album a
LEFT JOIN album a2 ON a2.parent_album_id = a.album_id
WHERE a.album_id = 76
基本上,它返回父母和孩子的價值觀,像這樣刪除:
parent child
--------------------
76 64
76 106
我想使用這些值時,父母和所有的孩子(76,64,106),從另一個表中刪除像這樣
DELETE a, ai
FROM album a
LEFT JOIN album_image ai ON ai.album_id = a.album_id
WHERE a.album_id IN (76,64,106)
執行上述查詢,完美的作品!但是,我需要查詢是動態的。 我已經嘗試這個沒有成功:
DELETE a, ai
FROM album a
LEFT JOIN album_image ai ON ai.album_id = a.album_id
WHERE a.album_id IN (
SELECT a.album_id parent, a2.album_id child
FROM album a
LEFT JOIN album a2 ON a2.parent_album_id = a.album_id
WHERE a.album_id = 76
)
我明白了爲什麼它不會起作用,因爲在where子句中的子查詢返回2倍的值。所以我嘗試CONCAT_GROUP和CONCAT_WS沒有成功!
我的解決方案是什麼? 謝謝
那麼,爲什麼你在子查詢中選擇了多個值? –
這是爲了證明我到目前爲止做了什麼。我不知道如何返回1值(父母和孩子) – Marco