gpt4 book ai didi

mysql - 从三个不同的表中删除相关的数据

转载 作者:行者123 更新时间:2023-11-29 23:47:26 25 4
gpt4 key购买 nike

我有三个 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 events WHERE events.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;)

关于mysql - 从三个不同的表中删除相关的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25845253/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com