2017-05-11 31 views
-3

任何帮助我任何一个帮助网格视图无法显示数据

我想下面的摘要gridview的SQL数据作为下面

SQL数据

SQL DATA:

Date  Week  GO_HQ LPSC_TGT LPSC_ACH 
29-Apr-17 Week - 18 ADAYAR 4.25  3.42 
30-Apr-17 Week - 18 ADAYAR 4.25  0 
1-May-17 Week - 18 ADAYAR 4.25  0 
2-May-17 Week - 18 ADAYAR 4.25  3.5 
3-May-17 Week - 18 ADAYAR 4.25  3.1 
4-May-17 Week - 18 ADAYAR 4.25  3.19 
5-May-17 Week - 18 ADAYAR 4.25  0 
6-May-17 Week - 19 ADAYAR 4.25  3.13 
7-May-17 Week - 19 ADAYAR 4.25  2.2 
8-May-17 Week - 19 ADAYAR 4.25  3.5 
9-May-17 Week - 19 ADAYAR 4.25  4.2 
10-May-17 Week - 19 ADAYAR 4.25  0 
11-May-17 Week - 19 ADAYAR 4.25  0 
12-May-17 Week - 19 ADAYAR 4.25  0 
13-May-17 Week - 20 ADAYAR 4.25  0 
14-May-17 Week - 20 ADAYAR 4.25  0 
15-May-17 Week - 20 ADAYAR 4.25  0 
16-May-17 Week - 20 ADAYAR 4.25  0 
17-May-17 Week - 20 ADAYAR 4.25  0 
18-May-17 Week - 20 ADAYAR 4.25  0 
19-May-17 Week - 20 ADAYAR 4.25  0 
20-May-17 Week - 21 ADAYAR 4.25  0 
21-May-17 Week - 21 ADAYAR 4.25  0 
22-May-17 Week - 21 ADAYAR 4.25  0 
23-May-17 Week - 21 ADAYAR 4.25  0 
24-May-17 Week - 21 ADAYAR 4.25  0 
25-May-17 Week - 21 ADAYAR 4.25  0 
26-May-17 Week - 21 ADAYAR 4.25  0 
27-May-17 Week - 22 ADAYAR 4.25  0 
28-May-17 Week - 22 ADAYAR 4.25  0 
29-May-17 Week - 22 ADAYAR 4.25  0 
30-May-17 Week - 22 ADAYAR 4.25  0 
31-May-17 Week - 22 ADAYAR 4.25  0 
1-Jun-17 Week - 22 ADAYAR 4.25  0 
2-Jun-17 Week - 22 ADAYAR 4.25  0 

我想要下面的总结

enter image description here

+2

欢迎的话,请花一分钟阅读[如何问一个问题( https://stackoverflow.com/help/how-to-ask),也许[编写完美的问题。](https://codeblog.jonskeet.uk/2010/08/29/writing-the-perfect-question/ )并尝试写一个更好的问题,祝你好运! – ThrowingSpoon

回答

0

您可以如下得到这个做简单的支点:

select * from (
    select Week, Go_hq, LPSC_ACH from yourtable) a 
     pivot (sum(LPSC_ACH) for week in ([Week - 18]...)) p 

对于动态周:

declare @cols3 nvarchar(max) 
declare @Query nvarchar(max) 

select @cols3 = stuff((select ','+ QUOTENAME([week]) from #yourdates group by [week] order by [week] for xml path(N''), type).value('.', 'NVARCHAR(MAX)'),1,1,N'') 

select @cols3 
SELECT @Query = 'select * from (
    select [Week], Go_hq, LPSC_ACH from #yourdates) a 
     pivot (sum(LPSC_ACH) for [Week] in ('+ @cols3 +')) p ' 

exec sp_executesql @query 
+0

非常感谢先生,但周列不是静态的,它的动态变化4或5,6周如何修复那 –

+0

您可以使用动态sql的那 –

+0

先生需要您的介绍 –