Forum
Merhaba;
Aşağıdaki sorgum ile sonuçları döndürürken bir sıkıntı yaşamıyorum fakat gruplamak istediğim alan Tarih olunca hata alıyorum. ProjeNo yerine Tarih gruplaması nasıl yapabilirim.
Not : Tarih alanım datetime format ve ben ProjeNo integer alan yerine Left(CONVERT(NVARCHAR, Tarih, 20),10) kullanarak yapmaya çalıştım olmadı.
DECLARE @ProjeNo int=NULL
DECLARE @HangiYil Varchar(4)
DECLARE @HangiAy Varchar(30)
DECLARE @BarkodNo Varchar(13)
SET @ProjeNo = 1;
SET @HangiYil = '2012';
SET @HangiAy = 'Ocak';
SET @BarkodNo = '2012092816093';
IF @HangiAy = 'Ocak' SET @HangiAy = @HangiYil + '-01';
IF @HangiAy = 'Şubat' SET @HangiAy = @HangiYil + '-02';
IF @HangiAy = 'Mart' SET @HangiAy = @HangiYil + '-03';
IF @HangiAy = 'Nisan' SET @HangiAy = @HangiYil + '-04';
IF @HangiAy = 'Mayıs' SET @HangiAy = @HangiYil + '-05';
IF @HangiAy = 'Haziran' SET @HangiAy = @HangiYil + '-06';
IF @HangiAy = 'Temmuz' SET @HangiAy = @HangiYil + '-07';
IF @HangiAy = 'Ağustos' SET @HangiAy = @HangiYil + '-08';
IF @HangiAy = 'Eylül' SET @HangiAy = @HangiYil + '-09';
IF @HangiAy = 'Ekim' SET @HangiAy = @HangiYil + '-10';
IF @HangiAy = 'Kasım' SET @HangiAy = @HangiYil + '-11';
IF @HangiAy = 'Aralık' SET @HangiAy = @HangiYil + '-12';
SELECT Select2Tablo2.ProjeNo, Select4Tablo3.Durum FROM
(SELECT ProjeNo, MAX(count_Durum) AS max_count FROM
(
SELECT
ProjeNo,
Durum,
COUNT(Durum) AS count_Durum
FROM Barkod_Listesi
WHERE BarkodNo=@BarkodNo And Left(CONVERT(NVARCHAR, Tarih, 20),7)=@HangiAy
GROUP BY ProjeNo, Durum
) AS Select3Tablo1
GROUP BY ProjeNo) AS Select2Tablo2
INNER JOIN
(SELECT ProjeNo, COUNT(Durum) AS count_Durum, Durum FROM Barkod_Listesi GROUP BY ProjeNo, Durum) Select4Tablo3
ON Select2Tablo2.ProjeNo = Select4Tablo3.ProjeNo AND
Select4Tablo3.count_Durum = Select2Tablo2.max_count
GO
EXEC Barkod_List @ProjeNo=1, @HangiYil='2012', @HangiAy='Ocak', @BarkodNo='2012092816093'
Merhaba
tarih formatını aşağıdaki gibi dener misin select'e yazdığın gibi group by içinde aynısını yazmalısın.
convert(datetime, '12.11.2012', 104) veya
convert(nvarchar, tarih_kolonu, 104)