首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

SQL语句或存储过程

2012-02-17 
求一个SQL语句或存储过程SELECT T_DprocStyleNo, T_DprocEchoplexQty, T_DprocMateColorFROM TPROCESSINFO

求一个SQL语句或存储过程
SELECT T_DprocStyleNo, T_DprocEchoplexQty, T_DprocMateColor
FROM TPROCESSINFO2
WHERE (T_MProcID = 29)
ORDER BY T_DprocStyleNo, T_DprocMateColor


T_DprocLineID T_DprocStyleNo T_DprocEchoplexQty T_DprocMateColor T_DprocMateSpec  
------------- -------------------- --------------------- ----------------- ------------------
1 P04-2135F 635.6300 漂白 143  
7 P04-2135F 663.8700 浅兰素色布 143  
10 P04-2139F 34.6800 藏青 143  
4 P04-2139F 1250.2100 漂白 143  
8 P04-2146F 35.0200 藏青 143  
9 P04-2146F 27.1300 粉红 143  
3 P04-2146F 583.5800 漂白 143  
2 P04-2146F 753.2400 漂白 143  
6 P04-2150F 826.9800 粉红素色布 143  
11 P04-2151F 31.6900 粉兰 143  
5 P04-2151F 927.3200 漂白 143  

(所影响的行数为 11 行)

以上是从表里查出来的数据。现在想要得到如下结果:即按T_DprocStyleNo统计,然后按颜色统计。想要得到一个这样的报表。

T_DprocStyleNo 漂白 浅兰素色布 藏青 粉红 粉红素色布 粉兰 T_DprocMateSpec 合计  
-------------------- ---------------------------------------------- 
P04-2135F 635.6300 663.8700 143 1299.5  
P04-2139F 1250.2100 34.6800 143 1284.89  
P04-2146F 1336.82 35.0200 27.1300 143 1398.97  
P04-2150F 826.9800 143 826.98
P04-2151F 927.3200 31.6900 143 959.01  

合计 4149.98 663.87 69.7 27.13 826.98 31.69 



合计先不管的话,在数据库里想要得到如下数据:

T_DprocStyleNo 漂白 浅兰素色布 藏青 粉红 粉红素色布 粉兰 T_DprocMateSpec  
-------------------- ---------------------------------------------- 
P04-2135F 635.6300 663.8700 143  
P04-2139F 1250.2100 34.6800 143  


P04-2146F 1336.82 35.0200 27.1300 143  
P04-2150F 826.9800 143
P04-2151F 927.3200 31.6900 143 

可以实现吗? 各位前辈们,谢谢!

[解决办法]
基本的行列转换呀



[解决办法]

SQL code
use testgocreate table #(T_DprocLineID int,          T_DprocStyleNo nvarchar(10),        T_DprocEchoplexQty  numeric(18,4),               T_DprocMateColor nvarchar(10),        T_DprocMateSpec int)insert # select 1,                           'P04-2135F',                         635.6300,                             '漂白',                             143                                                                                                                                                           insert # select 7,                           'P04-2135F',                         663.8700,                             '浅兰素色布',                 143                                                                                                                                                           insert # select 10,                          'P04-2139F',                         34.6800,                               '藏青',                             143                                                                                                                                                           insert # select 4,                           'P04-2139F',                         1250.2100,                           '漂白',                             143                                                                                                                                                           insert # select 8,                           'P04-2146F',                         35.0200,                               '藏青',                             143                                                                                                                                                           insert # select 9,                           'P04-2146F',                         27.1300,                               '粉红',                             143                                                                                                                                                           insert # select 3,                           'P04-2146F',                         583.5800,                             '漂白',                             143                                                                                                                                                           insert # select 2,                           'P04-2146F',                         753.2400,                             '漂白',                             143                                                                                                                                                           insert # select 6,                           'P04-2150F',                         826.9800,                             '粉红素色布',                 143                                                                                                                                                           insert # select 11,                          'P04-2151F',                         31.6900,                               '粉兰',                             143                                                                                                                                                           insert # select 5,                           'P04-2151F',                         927.3200,                             '漂白',                             143   godeclare @s nvarchar(4000)select @s='select [T_DprocStyleNo]=isnull(T_DprocStyleNo,''合计'')'select @s=@s+','+quotename(T_DprocMateColor)+'=sum(case when T_DprocMateColor=' +quotename(T_DprocMateColor,'''')+' then T_DprocEchoplexQty else 0 end)'        from # group by  T_DprocMateColorexec( @s+',T_DprocMateSpec from # group by T_DprocStyleNo,T_DprocMateSpec with rolluphaving not (grouping(T_DprocMateSpec)=1 and grouping(T_DprocStyleNo)=0)')T_DprocStyleNo 藏青                                       粉红                                       粉红素色布                                    粉兰                                       漂白                                       浅兰素色布                                    T_DprocMateSpec -------------- ---------------------------------------- ---------------------------------------- ---------------------------------------- ---------------------------------------- ---------------------------------------- ---------------------------------------- --------------- P04-2135F      .0000                                    .0000                                    .0000                                    .0000                                    635.6300                                 663.8700                                 143P04-2139F      34.6800                                  .0000                                    .0000                                    .0000                                    1250.2100                                .0000                                    143P04-2146F      35.0200                                  27.1300                                  .0000                                    .0000                                    1336.8200                                .0000                                    143P04-2150F      .0000                                    .0000                                    826.9800                                 .0000                                    .0000                                    .0000                                    143P04-2151F      .0000                                    .0000                                    .0000                                    31.6900                                  927.3200                                 .0000                                    143合计             69.7000                                  27.1300                                  826.9800                                 31.6900                                  4149.9800                                663.8700                                 NULL 

热点排行
Bad Request.