declare @s varchar(1000) 
select @s='select pxpoint as 培训点' 
select @s=@s+',SUM(case when subject='''+subject+''' then 1 else 0 end )'''+subject+''''from wy_enter 
group by subject select @s=@s+'from wy_enter where pici=200804 group by pxpoint' 
exec(@s)
-----------------------------
以上代码是查询表wy_enter中按照培训点排序统计的语句.
------------------------
  培训点         施工员 预算员
 一号培训点  0  1
 二号培训点       12        6
 三号培训点        3        0
------------------------------
现根据客户要求统计表前需增加一列培训点的ID.如下
ID  培训点         施工员 预算员
1  一号培训点  0  1
2  二号培训点       12        6
4   三号培训点        3        0
------------------------------
表gw_pxpoint
---------------------
id    pxpoint
1     一号培训点
2      二号培训点       
4      三号培训点
----------
问达人些.要怎么修改这条语句才能把培训点的ID关联到统计结果的表中去?使得查询结果能够现实出ID来.

解决方案 »

  1.   

    declare @s varchar(1000)  
    select @s='select gw_pxpoint.id,pxpoint as 培训点'  
    select @s=@s+',SUM(case when subject='''+subject+''' then 1 else 0 end )'''+subject+''''from wy_enter  join gw_pxpoint 
    on gw_pxpoint.pxpoint = wy_enter.pxpoint
    group by subject 
    select @s=@s+'from wy_enter,gw_pxpoint where gw_pxpoint.pxpoint = wy_enter.pxpoint and pici=200804 group by pxpoint,gw_pxpoint.id'  
    exec(@s) 
      

  2.   

    declare @s varchar(1000)   
    select @s='select gw_pxpoint.id,wy_enter.pxpoint as 培训点'   
    select @s=@s+',SUM(case when subject='''+subject+''' then 1 else 0 end )'''+subject+''''from wy_enter  join gw_pxpoint  
    on gw_pxpoint.pxpoint = wy_enter.pxpoint 
    group by subject  
    select @s=@s+'from wy_enter,gw_pxpoint where gw_pxpoint.pxpoint = wy_enter.pxpoint and pici=200804 group by wy_enter.pxpoint,gw_pxpoint.id'   
    exec(@s)