SQL - 输出中的动态行和列

时间:2011-10-31 06:00:18

标签: mysql

这是我的示例查询,用于计算销售员的销售数量,并将模型名称作为输出列。我的问题是salesman和modelname都是动态的。

欢迎任何建议。

---------例如查询--------------------------

select @rownum:=@rownum+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

欲望输出:------------

bil full_name推销员HARRIER E200
1 ANUAR 15 1 1 2 AZHAR 16 1 0
3 KAMAL 17 0 1

感谢。

1 个答案:

答案 0 :(得分:0)

如果要将此类行值转换为动态列,则必须使用PIVOT。请查看此说明:http://en.wikibooks.org/wiki/MySQL/Pivot_table 1

尝试一下,如果您仍未获得所需的结果,请随时再次发布。