1

SQL データベースで作業しています (Microsoft SQL Server 2008)

このようなテーブルがあります

Country     Gender           Number         
---------+---------------+-----------+
Russia       Male              50000                
Russia       Female            40000 
Russia       Unknown           30000
India        Male              45678                
India        Female            21354  
China        Male              37878                
China        Female            45686
China        Unknown           24534
France       Male              45378                
France       Female            49783   

次のようなテーブルを返すことができる SQL 選択スクリプトはありますか:

    Country      Male             Female      Unknown   
---------+---------------+-----------+-----------------+
Russia       50000            40000        30000             
India        45678            21354        0
China        37878            45686        24534
France       45378            49783        0

一部の国では「不明」データがないため、この場合は 0 にする必要があることに注意してください。

いくつか試してみましたが、近い結果は得られませんでした。助けてくれてありがとう。

4

2 に答える 2

1

このクエリも使用できます

select
    T.Country,
    max(case when T.Gender = 'Male' then T.Number else 0 end) as Male,
    max(case when T.Gender = 'Female' then T.Number else 0 end) as Female,
    max(case when T.Gender = 'Unknown' then T.Number else 0 end) as Unknown
from Table1 as T
group by T.Country

SQL フィドルのデモ

于 2013-08-10T20:39:16.327 に答える