簡體   English   中英

多對多關系中的SQL查詢恰好具有匹配條件的一條記錄

[英]SQL Query in MANY- MANY RELATIONSHIP exactly one record with matching criteria

我有3個具有很多很多關系的關系,例如:

TABLE 1 : select * from student;

| id   | name   |
|    1 | sone   |
|    2 | stwo   |
|    3 | sthree |
|    4 | sfour  |
|    6 | ssix   |


TABLE 2 : select * from course;


|  id  | name |
|  100 | CSE  |
|  101 | ECE  |
|  102 | ITI  |

RELATION_SHIP TABLE : select * from student_course
| id   | stu_id | cou_id |
|    1 |      1 |    101 |
|    2 |      2 |    102 |
|    3 |      2 |    100 |
|    4 |      3 |    100 |
|    5 |      3 |    101 |
|    6 |      1 |    101 |
|    1 |      6 |    101 |

我需要寫一個查詢來選擇一個只有“ CSE”課程的學生,而他不應再有其他課程。

提前致謝

使用查詢:

SELECT 
  sc.`stu_id`,
  COUNT(sc.`cou_id`) AS cnt 
FROM
  student_course sc 
GROUP BY sc.`stu_id` 
HAVING cnt = 1 
  AND GROUP_CONCAT(cou_id) LIKE 
  (SELECT 
    id 
  FROM
    course 
  WHERE NAME = 'CSE')

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM