MS SQL masortingx – affiche la colonne sous forme de ligne et de ligne comme colonne

Salut avoir la situation comme la masortingce ceci venant avec la requête choisie il y a un startdate et enddate où la condition et je sais quand commencer et finir est fondamentalement le calcul de 7day

T1 = 2 is a sum of 1+1 in same date

 SUM(T1) WHERE Date BETWEEN 2013/11/11 AND 2013-11-17 
  + ----- + ------- + ---- + ---- + ---- + ---- + ------------ +
 |  ID |  Nom |  T1 |  T2 |  T3 |  T4 |  Date |
 + ----- + ------- + ---- + ---- + ---- + ---- + ------------ +
 |  100 |  Maison |  2 |  2 |  2 |  2 |  2013-11-14 |
 |  100 |  Maison |  2 |  2 |  2 |  2 |  2013-11-15 |
 + ----- + ------- + ---- + ---- + ---- + ---- + ------------ + 

J'ai besoin de ça

  + ----- + ------ + ------ + ------ + ------ + ------ + ------ + - ----- + ------ +
 |  ID |  Type |  Jour1 |  Jour2 |  Jour3 |  Jour4 |  Jour5 |  Jour6 |  Jour7 |
 + ----- + ------ + ------ + ------ + ------ + ------ + ------ + - ----- + ------ +
 |  100 |  T1 |  00 |  00 |  00 |  2 |  2 |  00 |  00 |
 |  100 |  T2 |  00 |  00 |  00 |  2 |  2 |  00 |  00 |
 |  100 |  T3 |  00 |  00 |  00 |  2 |  2 |  00 |  00 |
 |  100 |  T4 |  00 |  00 |  00 |  2 |  2 |  00 |  00 |
 + ----- + ------ + ------ + ------ + ------ + ------ + ------ + - ----- + ------ + 

J'ai essayé d'utiliser l'union tout le pivot, mais aucune idée de la complexité de cette

Génie s'il vous plaît aidez-moi

Merci

Salut @conan travaille mais si j'ai besoin d'append deux tables dans FROM fermer comme

FROM #test,test1 WHERE test.Id=test2.Id

quand je fais cela dit ID est

Msg 8156, Level 16, State 1, Line 19 The column 'Id' was specified multiple times for 'pre'.

Msg 8156, Level 16, State 1, Line 24 The column 'Id' was specified multiple times for 'Unp'.

Msg 8156, Level 16, State 1, Line 26 The column 'Id' was specified multiple times for 'Final'.

 if object_id('tempdb..#test') is not null drop table #test create table #test (id int ,name varchar(5),t1 int,t2 int, t3 int ,t4 int,datecol datetime) insert into #test values (100,'house',2,2,2,2,'20131114'); insert into #test values (100,'house',2,2,2,2,'20131115'); insert into #test values (200,'cabin',1,1,1,1,'20131112'); insert into #test values (200,'cabin',1,1,1,1,'20131113'); select * from #test DECLARE @startdate AS DATETIME SET @startdate = '20131111' SELECT ID ,Type ,sum(CASE WHEN DaysDiff = 1 THEN holdcolumn ELSE 0 END) AS Day1 ,sum(CASE WHEN DaysDiff = 2 THEN holdcolumn ELSE 0 END) AS Day2 ,sum(CASE WHEN DaysDiff = 3 THEN holdcolumn ELSE 0 END) AS Day3 ,sum(CASE WHEN DaysDiff = 4 THEN holdcolumn ELSE 0 END) AS Day4 ,sum(CASE WHEN DaysDiff = 5 THEN holdcolumn ELSE 0 END) AS Day5 ,sum(CASE WHEN DaysDiff = 6 THEN holdcolumn ELSE 0 END) AS Day6 ,sum(CASE WHEN DaysDiff = 7 THEN holdcolumn ELSE 0 END) AS Day7 FROM ( SELECT * FROM ( SELECT datediff(d, @startdate, datecol) + 1 DaysDiff ,* FROM #test WHERE datecol BETWEEN @startdate AND dateadd(d, 6, @startdate) ) AS pre unpivot(Holdcolumn FOR [Type] IN ( t1 ,t2 ,t3 ,t4 )) AS Unp ) AS Final GROUP BY id ,type ORDER BY id ,type 
 Declare @test table (id int ,name varchar(5),t1 int,t2 int, t3 int ,t4 int,datecol datetime) insert into @test values (100,'house',2,2,2,2,'20131114'); insert into @test values (100,'house',2,2,2,2,'20131115'); insert into @test values (200,'cabin',1,1,1,1,'20131112'); insert into @test values (200,'cabin',1,1,1,1,'20131113'); Select * from (select ID, DName, Orders, Typess From (select ID, DATENAME(DW, datecol) DName, t1, t2, t3, t4 from @test) a unpivot( Orders FOR Typess IN (t1, t2, t3, t4))as unpvot) b pivot ( sum(Orders) for DName in (Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday))as pvot order by id