!!【给出所有专家分!!】---数据库查询汇总的问题

由于原来表结构过于复杂。所以模拟一个简单的。。

person       date                   sum             t1         t2       t3       t4     t5 

jack          2010-1-1                5                0          0        5        0       0

jack          2010-1-10              0                0          0        0        0       0

jack          2010-1-20              9                0          0        0        0       9

tom          2010-1-               4                0          4        0        0       0

tom          2010-1-9                6                0          0        0        6       0

tom          2010-1-18              8                0          0        8        0       0

.................................................

t1.  .  .t5  最多只会有一个不为0,其余都为0、日期可以看做每天都有。

要得到

person    month      1   2    3   4  ....8  9  10 .....18   19     20 .......  31    (1.。31为日期。天、。表头应该是固定的,,不管有没有这天的数据。。)

jack        2010-1     t3                                                     t5          

tom        2010-1                 t2            t4            t3

理论上应该遍历。T1..T2..T3...../..看哪个不为0.。然后取出表头。。。放新表里面。。。难点。。不会、、

呼啦一阵风
浏览 593回答 5
5回答

神不在的星期二

leoD你好 由于你提的该问题个人觉得还算比较经典 所以以随笔形式回答您的问题 点击链接地址

慕沐林林

我知道这个意思。。但sum列其实是没多大用的。。 日期 12345。。。。31下面的数据不是sum 。而是t1,t2,t3.。。。。哪个不为0.日期下面就显示哪个。。所有jack的1号下面显示的是t3.20号下面显示的是t5.

料青山看我应如是

如果sum没意义,你将语句里的sum换成 t1 + t2 + t3 + t4 + t5就可以了

月关宝盒

哎。。谢谢你了。。但真的不是这个意思。。。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

SQL Server