如何使用第二个sql的名称从第一个表中删除值

时间:2017-11-17 14:27:27

标签: sql postgresql

我有一张表groups

group_id | name_group
1          ISI
2          IZI

表格students

id | first_name | last_name | group_id
6    Bob          Surname1    1
17   John         Surname2    2

如何使用student删除groups.name表格中的所有信息?

即。我需要查询选择具有相同名称的group_id相同的所有学生。

group_id 1 = 'ISI'
group_id 2 = 'IZI' 

查询必须严格按名称删除。

2 个答案:

答案 0 :(得分:0)

有不同的方式。一个简单的,可能是选择组的Id并从那里删除。例如:

DECLARE
@name as nvarchar(20) = 'myName'

-- we display the data just for check
SELECT s.*, g.group_id
FROM students s ON g.group_id = s.group_id
WHERE g.name_group = @name

--we look the group id and delete the matches with students
DELETE
FROM students
WHERE group_id in (SELECT group_id FROM groups WHERE name_group = @name)
PD:这种基本方法可以同时适用于:MySQL和MSSQL。

答案 1 :(得分:0)

您可以使用此查询

group_id

1 group_name='ISi' Sheets("Outlook View").Range("a1:bm74").Copy Sheets("Outlook View").Range("a1:bm74").PasteSpecial xlPasteValues Sheets("Outlook Summary").Range("a1:q12").Copy Sheets("Outlook Summary").Range("a1:q12").PasteSpecial xlPasteValues 的所有记录(通过Sheets("Outlook View").Range("a1:bm74").Copy Destination:= Sheets("Outlook View").Range("a1:bm74").PasteSpecial xlPasteValues Sheets("Outlook Summary").Range("a1:q12").Copy Destination:= Sheets("Outlook Summary").Range("a1:q12").PasteSpecial xlPasteValues )。