簡體   English   中英

從三個相關的表中刪除數據

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM