[英]Delete data from three different tables that is related
我有三個SQL表項目,任務和活動。 問題是任務被分配給一個proyect,活動被分配給任務。 如果要刪除該對象,則必須刪除該對象的所有任務以及這些任務的所有活動。 我想編寫一個SQL語句,首先向我展示,我在選擇要正確刪除的行,因為實際上刪除了它們。 這是我寫的句子:
SELECT activities.description,
activities.task,
tasks.user,
tasks.name,
tasks.proyect
FROM tasks JOIN proyects WHERE task.proyect=proyects.name
JOIN activities WHERE activities.task=tasks.name;
但是,這使您檢查語法錯誤附近:'JOIN活動WHERE activity.task = tasks.name'
我不知道怎么了。 我檢查了表的名稱,它們是正確的。
語法錯誤。 在第一個中應為ON
:
SELECT activities.description,
activities.task,
tasks.user,
tasks.name,
tasks.proyect
FROM tasks JOIN proyects ON task.proyect=proyects.name
JOIN activities WHERE activities.task=tasks.name;
要從表中刪除所有這些結果,可以采用以下方式:
DELETE FROM `tasks` WHERE `task` IN (
SELECT activities.task,
FROM tasks JOIN proyects ON task.proyect=proyects.name
JOIN activities WHERE activities.task=tasks.name;)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.