2017-08-01 6 views
-1

例は1000語に相当すると思います。SQL:IDと2つ(またはそれ以上)の異なるテーブルの合計を計算する

表:大陸:

id | continent 
---+---------- 
1 | Africa 
2 | America 
3 | Asia 
4 | Europe 
5 | Oceania 

表:国

id | countries  | population | continent_id 
---+----------------+------------+------------- 
1 | Australia  | 24500000 | 5 
2 | Brazil   | 209300000 | 2 
3 | Canada   | 36600000 | 2 
4 | France   | 65000000 | 4 
5 | Germany  | 82100000 | 4 
6 | Italy   | 59400000 | 4 
7 | Japan   | 127500000 | 3 
8 | South Africa | 56700000 | 1 
9 | South Korea | 51000000 | 3 
10 | United Kingdom | 66200000 | 4 
11 | United States | 324500000 | 2 

そして、私が好きな結果:

id | continent | continent_population 
---+-----------+--------------------- 
1 | Africa |    56700000 
2 | America |   570400000 
3 | Asia  |   178500000 
4 | Europe |   272700000 
5 | Oceania |    24500000 

はそうです、私は人口が欲しいです各大陸は、別の表にある国々の合計の結果となる。私は多くのクエリを試したが、何も働かなかった。

また、このタイトルはおそらく吸いますが、私はそれをどのように語るのか分かりませんでした。

答えて

0

は、その後の人口を合計し、大陸でグループ化し、2つのテーブルIDにcontinent_id入社、これを試してみてください:

SELECT 
CONTINENTS.id, 
CONTINENTS.continent, 
SUM(COUNTRIES.population) as continent_population 
FROM CONTINENTS 
LEFT JOIN COUNTRIES ON COUNTRIES.continent_id=CONTINENTS.id 
GROUP BY CONTINENTS.id, CONTINENTS.continent 
+0

が動作することを!ありがとう! – rp17

+0

私にあなたのために働いてくれてうれしい@ rp17を教えてくれてありがとう:) – WJS

関連する問題