2011-10-31 7 views
0

これは私のセールスマンの売上の数をカウントし、出力の列としてmodelnameを作るための私のサンプルクエリです。私の問題はsalesmanとmodelnameの両方がダイナミクスです。SQL - 動的な行と列の出力

ご提案は大歓迎です。

---------例えばクエリ--------------------------

select @rownum:[email protected]+1 AS bil, a.sales_dt,a.salesman, b.model_name,c.full_name 
from t_sales a left join t_carinfo b on a.chasis_no=b.chasis_no,t_user c,(SELECT @rownum:=0) r 
where a.agent_code='03' and a.sname is not null and a.sname='01' and a.salesman=c.regno and YEAR(a.sales_dt)='1995' 
group by a.salesman, b.model_name 

- ---出力----

bil sales_dt salesman model_name full_name 
1 1995-05-29 15 E200 ANUAR 
2 1995-06-30 16 HARRIER AZHAR 
3 1995-09-14 15 HARRIER ANUAR 
4 1995-11-15 17 E200 KAMAL 

欲求出力:------------ FULL_NAMEセールスマンハリアーE200 BIL


1アヌア15 1
2 AZHAR 16 1 0
3 KAMAL 17 0 1

ありがとうございます。

答えて

0

このような行の値を動的列に変換する場合は、PIVOTを使用する必要があります。この説明を確認してください:http://en.wikibooks.org/wiki/MySQL/Pivot_table1

希望する結果が得られない場合は、もう一度投稿してください。

+0

アレックスに感謝しますが、それでも正しいことはできませんでした。 – user1021448