2014-02-21 199 views
0

我需要一個查詢,它返回每個團隊中運動員的數量。SQL幫助初學者

它應該只顯示名稱長於運動員名字和姓氏平均長度的球隊。

我有兩張牌sportmans

這裏是我的嘗試:

SELECT TIMOVI,SPORTISTI COUNT(IME_PREZIME) 
FROM TIMOVI 
JOIN SPORTISTI 
    ON SIFRA=TIM, 
GROUP BY TIMOVI 
WHERE LENGTH(naziv)> ((AVG(LENGHT(ime_preizime)))/2) 
+0

SELECT TIMOVI,SPORTISTI COUNT(IME_PREZIME) FROM TIMOVI JOIN SPORTISTI ON SIFRA = TIM, GROUP BY TIMOVI WHERE LENGTH(naziv)>((AVG(LENGHT(ime_preizime)))/ 2) – Mrsevic

+0

我有兩個表隊和運動員 – Mrsevic

+0

TEAM具有代碼PK,姓名,發現日期 – Mrsevic

回答

0

怎麼樣這樣的查詢:

SELECT t.name, COUNT(s.id) 
FROM team t 
INNER JOIN sportsman s ON s.team = t.id 
WHERE LENGTH(t.name) > (
    SELECT AVG(LENGTH(s2.name)) FROM sportsman s2 
) 
GROUP BY t.id 

對於模式是這樣的:

CREATE TABLE sportsman (
    id INTEGER, 
    team INTEGER, 
    name VARCHAR(50) 
); 

CREATE TABLE team (
    id INTEGER, 
    name VARCHAR(50) 
); 

SQL Fiddle

+0

自從我進入這個網站已經有一段時間了,我沒有注意到你的答案。謝謝您的回答。 – Mrsevic

+0

不客氣:) – theon