Saatlere göre satış dağılım raporu Mssql kodu

0
(0)

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

 

Bu yazıyı faydalı buldunuz mu?

Değerlendirmek için yıldızlara tıklayın.

Ortalama puan 0 / 5. Toplam oy: 0

Bu yazıyı henüz kimse değerlendirmemiş. İlk siz oy verin !

Bu yazıyı faydalı bulmadığınız için çok üzüldük.

Görüşleriniz bizim için çok değerli.

Nasıl daha faydalı bir yazı hazırlayabiliriz?

Yorum bırakın

Scroll to Top