FATBASLIK tablosundan saat aralıklarına göre rapor alan MSSQL kodum.
select TARIH=(convert(VARCHAR(10),FB.TARIH,120)), '_09'=(select SUM(FATURA_TUTARI) from FATBASLIK FB1 where FB1.TARIH BETWEEN convert(VARCHAR(10),FB.TARIH,120)+' 08:59:00.000' AND convert(VARCHAR(10),FB.TARIH,120)+' 09:59:00.000' ), '_10'=(select SUM(FATURA_TUTARI) from FATBASLIK FB1 where FB1.TARIH BETWEEN convert(VARCHAR(10),FB.TARIH,120)+' 09:59:00.000' AND convert(VARCHAR(10),FB.TARIH,120)+' 10:59:00.000' ), '_11'=(select SUM(FATURA_TUTARI) from FATBASLIK FB1 where FB1.TARIH BETWEEN convert(VARCHAR(10),FB.TARIH,120)+' 10:59:00.000' AND convert(VARCHAR(10),FB.TARIH,120)+' 11:59:00.000' ), '_12'=(select SUM(FATURA_TUTARI) from FATBASLIK FB1 where FB1.TARIH BETWEEN convert(VARCHAR(10),FB.TARIH,120)+' 11:59:00.000' AND convert(VARCHAR(10),FB.TARIH,120)+' 12:59:00.000' ), '_13'=(select SUM(FATURA_TUTARI) from FATBASLIK FB1 where FB1.TARIH BETWEEN convert(VARCHAR(10),FB.TARIH,120)+' 12:59:00.000' AND convert(VARCHAR(10),FB.TARIH,120)+' 13:59:00.000' ), '_14'=(select SUM(FATURA_TUTARI) from FATBASLIK FB1 where FB1.TARIH BETWEEN convert(VARCHAR(10),FB.TARIH,120)+' 13:59:00.000' AND convert(VARCHAR(10),FB.TARIH,120)+' 14:59:00.000' ), '_15'=(select SUM(FATURA_TUTARI) from FATBASLIK FB1 where FB1.TARIH BETWEEN convert(VARCHAR(10),FB.TARIH,120)+' 14:59:00.000' AND convert(VARCHAR(10),FB.TARIH,120)+' 15:59:00.000' ), '_16'=(select SUM(FATURA_TUTARI) from FATBASLIK FB1 where FB1.TARIH BETWEEN convert(VARCHAR(10),FB.TARIH,120)+' 15:59:00.000' AND convert(VARCHAR(10),FB.TARIH,120)+' 16:59:00.000' ), '_17'=(select SUM(FATURA_TUTARI) from FATBASLIK FB1 where FB1.TARIH BETWEEN convert(VARCHAR(10),FB.TARIH,120)+' 16:59:00.000' AND convert(VARCHAR(10),FB.TARIH,120)+' 17:59:00.000' ), '_18'=(select SUM(FATURA_TUTARI) from FATBASLIK FB1 where FB1.TARIH BETWEEN convert(VARCHAR(10),FB.TARIH,120)+' 17:59:00.000' AND convert(VARCHAR(10),FB.TARIH,120)+' 18:59:00.000' ), '_19'=(select SUM(FATURA_TUTARI) from FATBASLIK FB1 where FB1.TARIH BETWEEN convert(VARCHAR(10),FB.TARIH,120)+' 18:59:00.000' AND convert(VARCHAR(10),FB.TARIH,120)+' 19:59:00.000' ), '_20'=(select SUM(FATURA_TUTARI) from FATBASLIK FB1 where FB1.TARIH BETWEEN convert(VARCHAR(10),FB.TARIH,120)+' 19:59:00.000' AND convert(VARCHAR(10),FB.TARIH,120)+' 20:59:00.000' ), '_21'=(select SUM(FATURA_TUTARI) from FATBASLIK FB1 where FB1.TARIH BETWEEN convert(VARCHAR(10),FB.TARIH,120)+' 20:59:00.000' AND convert(VARCHAR(10),FB.TARIH,120)+' 21:59:00.000' ) from FATBASLIK FB group by convert(VARCHAR(10),FB.TARIH,120)
Bu da olması gerektiği gibi olan kod 🙂
SELECT TARIH, SUM([09]) AS [09], SUM([10]) AS [10], SUM([11]) AS [11], SUM([12]) AS [12], SUM([13]) AS [13], SUM([14]) AS [14], SUM([15]) AS [15], SUM([16]) AS [16], SUM([17]) AS [17], SUM([18]) AS [18] FROM( SELECT TARIH, [09]=CASE WHEN SAAT BETWEEN '09:00:00' AND '09:59:59' THEN SUM(TUTAR) ELSE 0 END, [10]=CASE WHEN SAAT BETWEEN '10:00:00' AND '10:59:59' THEN SUM(TUTAR) ELSE 0 END, [11]=CASE WHEN SAAT BETWEEN '11:00:00' AND '11:59:59' THEN SUM(TUTAR) ELSE 0 END, [12]=CASE WHEN SAAT BETWEEN '12:00:00' AND '12:59:59' THEN SUM(TUTAR) ELSE 0 END, [13]=CASE WHEN SAAT BETWEEN '13:00:00' AND '13:59:59' THEN SUM(TUTAR) ELSE 0 END, [14]=CASE WHEN SAAT BETWEEN '14:00:00' AND '14:59:59' THEN SUM(TUTAR) ELSE 0 END, [15]=CASE WHEN SAAT BETWEEN '15:00:00' AND '15:59:59' THEN SUM(TUTAR) ELSE 0 END, [16]=CASE WHEN SAAT BETWEEN '16:00:00' AND '16:59:59' THEN SUM(TUTAR) ELSE 0 END, [17]=CASE WHEN SAAT BETWEEN '17:00:00' AND '17:59:59' THEN SUM(TUTAR) ELSE 0 END, [18]=CASE WHEN SAAT BETWEEN '18:00:00' AND '18:59:59' THEN SUM(TUTAR) ELSE 0 END FROM( select convert(VARCHAR(10),FB.TARIH,120) as TARIH, SAAT=CONVERT(VARCHAR(10),FB.TARIH,108), FB.FATURA_TUTARI AS TUTAR FROM FATBASLIK FB ) AS X GROUP BY TARIH,SAAT ) AS Y GROUP BY TARIH