繁体   English   中英

在SQL中,如何显示正在学习多个科目的学生?

[英]In SQL, How to display a student who is taking more than one subjects?

例如 - 表名= TABLE

StudentID | SubCode | SubName
-----------------------------
    1          M1       Math
    1          S1       Science
    1          E1       English
    2          H1       History
    3          G2       Geography
    4          M1       Math    

我们可以这样显示答案吗?

studentid | SubCode | SubName
---------------------------------
    1          M1       Math
    1          S1       Science
    1          E1       English

带有HAVING子句的IN()子查询应该这样做:

SELECT * 
FROM table
WHERE StudentID IN (
  SELECT 
    StudentID
  FROM table
  GROUP BY userid
  HAVING COUNT(*) > 1
)
SELECT DISTINCT T1.*
  FROM YourTable AS T1
       INNER JOIN YourTable AS T2
          ON T1.StudentID = T2.StudentID
             AND T1.SubCode <> T2.SubCode;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM