MySQL 選択クエリで何かを達成するのに問題があります。英数字の ID 列、yearID 列、および指定された年に何かが発生した回数を示すその他のさまざまな列で構成される統計のテーブルがあります。このような:
personID yearID event1 event2 event3
person1 1999 12 15 2
person1 2000 14 7 3
person1 2001 25 10 2
person2 1999 16 12 1
person2 2000 15 14 1
person2 2001 9 20 2
select を使用して次の列を取得しようとしています。
personID event1_1999 event1_2000 event1_2001 event2_1999 event2_2000 etc...
したがって、このタイプのコードを使用しました:
select
personID,
if(year_ID = "1999",event1,NULL) AS event1_1999,
if(year_ID = "2000",event1,NULL) AS event1_2000,
if(year_ID = "2000",event1,NULL) AS event1_2001,
etc.
残念ながら、結果で見つかったのは、最初の年に対応する列 (例では、event1_1999、event2_1999 など) のみにデータが含まれており、残りはすべて null であるということです。これがなぜなのか、またはそれを回避する方法がわかりません。誰でも助けることができますか?
ありがとう