2
當天使用SQL Server 2000如何找到日期
表1
ID Date Value1 Value2
001 01/01/2012 100 0
001 02/01/2012 200 200
...
...
001 31/01/2012 250 0
002 01/01/2012 050 100
002 02/01/2012 100 0
...
002 31/01/2012 075
....
我想通過ID顯示按日期明智的(日期列)組值(值列)
輸出像
ID 01/01/2012 02/01/2012 ... 31/01/2012
001 100 200 .... 250
002 050 100 .... 075
.....
查詢
DECLARE @loop int,@date Date,@sql nvarchar(4000)
DECLARE @TempTable TABLE
(
[Date] DATE
)
INSERT INTO @TempTable SELECT DISTINCT [Date] FROM table1 ORDER BY [Date]
SET @sql = ''
SET @loop = 1
WHILE (@loop<=31)
BEGIN
IF EXISTS(SELECT * FROM @TempTable WHERE DAY([Date])[email protected])
BEGIN
SET @date = (SELECT [Date] FROM @TempTable WHERE DAY([Date])[email protected])
SET @sql = @sql+ ',MAX(CASE CONVERT(nvarchar(10),[Date],103) WHEN '''+CONVERT(nvarchar(10),@date,103)+''' THEN [Value1] END) AS [DATE'+CONVERT(nvarchar(2),@loop)+']'
END
ELSE
SET @sql = @sql+ ', NULL AS [DATE'+CONVERT(nvarchar(2),@loop)+']'
SET @loop = @loop+1
END
EXEC('SELECT ID'[email protected]+' FROM table1 GROUP BY ID')
上面的查詢工作,從上述查詢我想找到的星期天,如果是星期天則日期欄應該顯示從值2列中的值,否則值1列 應顯示
如何做到這一點。
需要查詢幫助
謝謝你,如何總結值1和值2的,從我希望做一個總和(值)和sum(值2)輸出。 sum(value1)表示除星期日剩餘的所有日子,sum(value2)只有星期日,如何做到這一點,PLZ幫助我.... – JetJack