0

ワークベンチでスクリプトを開こうとしていますが、キーワード PIVOT に赤い下線が引かれ、次のようなエラー メッセージが表示されます。脚本:

select * from 
(select c1.id, a.num0,a.num1 from table1 c1
Inner Join
(select c2.id, if(team=1,1,0) as num0, if(team=2,1,0)as num1 from table1 c2,table2 r2
where c2.q_id = 2046 and r2.q_id = 2046 group by c2.d)a on a.id = c1.id) pvt

PIVOT(
For content
IN([team1],[team2]))pvt2
4

2 に答える 2

0

MySQL には PIVOT 関数がありません。ただし、この機能は、式を含む集計関数を使用して複製できますCASE

元のクエリに基づいて、次のようなものが必要になるようです。

select t2.id,
  sum(case when team = 1 then 1 else 0 end) num0,
  sum(case when team = 2 then 1 else 0 end) num1
from table1 t1
inner join table2 t2
  on t1.q_id = t2.q_id
group by t2.id
于 2013-03-28T09:47:59.897 に答える
0

MySQL は をサポートしていないため、クエリに構文エラーがありますPIVOT。MySQL で必要なことを実現するには、いくつかの追加作業を行う必要があります。thisまたはthis related questionを参照してください。

于 2013-03-28T08:46:39.787 に答える