如何在SQLite的一列下提取具有相同值的行?

时间:2018-10-15 03:45:46

标签: sqlite

这是我得到的数据:

分类表
部门编号标题
---- ---- ---------
INFO 200 XXXXXX
INFO 343 111111
INFO 448 AAAAAA

教学台
用户名部门编号


A INFO 343
B INFO 343
D INFO 200
B INFO 200
A INFO 448
C INFO 200
C INFO 343

问题就来了:A和B都教什么课程?

我在想做这样的事情SELECT * FROM Class WHERE number = (...)

结果应为:
部门编号标题
---- ---- ---------
信息343 111111

如何编写正确的代码,请帮忙!谢谢。

1 个答案:

答案 0 :(得分:0)

一种方法是

select c.dept, c.number, c.title
from class c 
join teaches t on t.dept = c.dept
              and t.number = c.number
where t.username in ('A','B')
group by c.dept, c.number, c.title
having count(distinct t.username) = 2

这将按类别对数据进行分组,然后仅考虑相关用户的记录。网上论坛需要同时有两个用户。