2014-10-05 22 views
0

我的數據庫架構 BOLD意味着PRIMARY KEYITALIC意味着FOREIGN KEYSQL以示 「至少6個來自同一個國家的選手」

國家(名稱,COUNTRY_ID) 隊(team_id,name,c country_id,description) Riders(rider_id,na我TEAM_ID, year_born,COUNTRY_ID



我必須提供以下

SQL查詢找到包含來自同一個國家至少6名車手作爲國家的球隊團隊來自。

我的答案是如下:

SELECT name 
FROM TEAMS 
WHERE EXISTS (SELECT * FROM RIDERS WHERE RIDERS.country_id=TEAMS.country_id AND RIDERS.COUNT>=6); 

我不知道該怎麼辦「來自同一個國家至少6名車手」,任何人都可以幫忙嗎?

在此先感謝

+0

任何一個能夠幫助? – XGAl 2014-10-05 14:14:57

回答

0

JOIN所需列的表,然後, GROUP BY team_id HAVING COUNT(*) >=6

如果COUNTRY可以有多個團隊,則包括國家也GROUP BY子句。這將爲您提供團隊和國家,只需根據它選擇所需的行。

0

使用以下查詢

SELECT 
NAME 
FROM 
TEAMS JOIN RIDERS ON TEAMS.TEAM_ID = RIDERS.TEAM_ID 
AND TEAMS.COUNTRY_ID = RIDERS.COUNTRY_ID 
GROUP BY NAME 
HAVING COUNT(RIDER_ID)>=6 
相關問題