我有三个SQL表项目,任务和活动。问题是任务被分配给项目和活动到任务。如果我想删除该项目,我必须删除该项目的所有任务以及这些任务的所有活动。我想写一个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 activities.task = tasks.name'
我不知道出了什么问题。我检查了表格的名称,它们是正确的。
答案 0 :(得分:0)
语法错误。第一个应该是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;)