下面是每个表中的值
阅读-表名
student_id -学生身份证
1
4
5
7
6
9
11
演讲桌
9
10
12
13
14
15
写字表
1
2
3
4
5
6
7
9
听表
1
2
3
4
5
6
7
8
9
我的查询将返回学生id,这在4个表中很常见。例如,我的查询将返回以下示例:
对于所有表,只有9 'id是常见的,所以查询将返回计数为1。我尝试使用内部联接和一些不同的查询方式,但结果是,answer.Please出错了,任何人都会帮助我提前退出这个issue.Thanks。
发布于 2017-06-14 12:44:22
选择计数(不同的a.student_id)
从reading_table a
在speaking_table b上加入a.student_id=b.student_id
在writing_table c++上加入b.student_id=c.student_id
在listening_table上加入c.student_id=d.student_id d
发布于 2017-06-14 12:35:51
使用INTERSECT
select count(1)
from
(
select student_id from Reading
INTERSECT
select student_id from speaking
INTERSECT
..
) a
如果这些表中的任何一个都重复了student_id
,如果您不想计数重复的表,那么
select count(Distinct student_id)
from
(
select student_id from Reading
INTERSECT
select student_id from speaking
INTERSECT
..
) a
发布于 2017-06-14 12:42:56
SELECT t1.id FROM table1 t1
INNER JOIN table2 AS t2 ON t1.id = t2.id
INNER JOIN table3 AS t3 ON t1.id = t3.id
INNER JOIN table4 AS t4 ON t1.id = t4.id
这将返回所有4个表中常见的id。
https://stackoverflow.com/questions/44544919
复制相似问题