у меня есть этот запрос,MYSQL: Как удалить в ГДЕ В статье
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
)
Я понимаю, почему он не будет работать, потому что подзапрос в предложении где возвращает 2 значения. И поэтому я попробовал CONCAT_GROUP и CONCAT_WS без успеха!
Каково мое решение? Thanks
Итак, почему у вас есть несколько значений, выбранных в подзаголовке? –
это продемонстрировать, что я сделал до сих пор. Я не знаю, как вернуть 1 значение (родительский и детский) – Marco