2
所以,我有一個奧運的數據庫,基本佈局是,有一個競爭對手錶competitornum,給定名稱,並familyname(其他列是沒有必要爲這個) 還有一個結果表competitornum和地點(在1和8之間)。子查詢的SQL
我想獲得給定名稱和familyname和金,銀總數和銅牌(地方= 1,2或3)
這裏是我到目前爲止有:
SELECT c.Givenname, c.Familyname, places AS TotalPlaces
FROM Competitors c,
(SELECT COUNT(*) as places
FROM Results r, Competitors c
WHERE r.Competitornum = c.Competitornum
AND r.Place > 0
AND r.Place < 4) q
但是它返回每個人的名字,和相同的總名額(這恰好是78)。例如
John Smith 78
Cassandra Jane 78
Bob Turner 78
'r.place介於0和4' – hjpotter92
@GiantofaLannister有啥'IN(1,2,3)'和'介於0和4'的diffrerence? –
如果OP希望改變範圍? – hjpotter92