mysql 删除另一个表中的_mysql – 从与另一个表关联的表中删除重复项

Student

_______________________

SudentId Name

101 Peter

103 John

112 James

116 Peter

117 Peter

SudentId_Subject

_______________________

SudentId Subject

101 Physics

103 Chemistry

112 Mathematics

116 Physics

117 Commerce

为了找到重复的学生,我尝试了查询

从名为(*)> 1的名称中选择*来自学生组,得到

SudentId Name

_______________________

101 Peter

116 Peter

117 Peter

实际上我需要过滤同一主题的学生.即

101 Peter

116 Peter

是重复的(同一主题)但不是彼得

我该如何为此编写查询?

解决方法:

我可能有过复杂的事情,但想不出更简单的方法:

SELECT ss.student_id,ss.name

FROM student ss

JOIN studentid_subject tt

ON(ss.student_id = tt.student_id)

JOIN(SELECT t.name,s.department

FROM student t

JOIN studentid_subject s

ON(t.student_id = s.student_id)

GROUP BY t.name,s.department

HAVING COUNT(*) > 1) p

ON(ss.name = p.name and tt.department = p.department)

标签:mysql,database,sql

来源: https://codeday.me/bug/20190701/1352189.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值