【发布时间】:2017-04-07 14:13:30
【问题描述】:
有两个表:
- 学生(STUDENT_ID、GROUP_ID)
- GROUPS(GROUP_ID,NAME)
我需要编写从指定组中删除学生的查询(假设有带有“target_id”的组)而不丢失任何数据。
我试图解释另一个词。一个学生可以在多个小组中学习。其中一个组是带有“target_id”的组。如果我们删除学生,他将从所有组中消失。但我需要这个学生只从一个群体中消失。
与组相同 - 查询不应删除任何组。
【问题讨论】:
-
有一个链接表 student_group 与学生 id 和组 id。从组中删除时,只需从链接表中删除相关行。
-
Edit 您的问题并添加您正在使用的查询。一些样本数据和预期结果也会有所帮助。 Formatted 文本 请no screen shots
-
DELETE FROM students s WHERE s.group_id IN(SELECT t.group_id FROM groups t WHERE t.group_id = s.group_id)? -
@JonStirling:
students表(如果这是完整的列列表)看起来非常像链接表 -
@a_horse_with_no_name 可能是真的,但如果是这样,那是一些糟糕的表命名。
标签: sql postgresql