Konuyu Oyla:
  • Derecelendirme: 0/5 - 0 oy
  • 1
  • 2
  • 3
  • 4
  • 5
Kapandı : group by ile gruplanmış sorgu sonucunu tek satırda gösterme
#1
Hayırlı günler.
İnşaallah soruyu doğru sorabilirim 
Aşağıdaki sql sorgusu ile resimdeki sonucu alıyorum resim 1 
gridde 1 ve 2 satırdaki her şey aynı sadece sağ sol yön farklı olduğundan group by  2 ayrı satır da grupluyor 

ben bunu nasıl tek satırda  paint ile değiştirdiğim resim 2 gibi alabilirim mümkün mü ?
Bilgi için yazıyorum SQL sorgusundan yön kaldırımca  sağ sol ayırt etmeden Adet 5 oluyor benin yön bilgisinede ihtiyacım var.

Resim 1

select case S_KANATTUR_ID  
when 0 then 'TEK KANAT' when 1 then 'TEK KANAT ÜST BÖLMELİ' when 2 then 'TEK KANAT SAG BÖLMELİ' when 3 then 'TEK KANAT SOL BÖLMELİ' 
when 4 then 'TEK KANAT SAG / SOL BÖLMELİ' when 5 then 'TEK KANAT ÜST VE SAG BÖLMELİ' when 6 then 'TEK KANAT ÜST VE SOL BÖLMELİ' 
when 7 then 'TEK KANAT ÜST VE SAG / SOL BÖLMELİ' when 8 then 'ÇİFT KANAT' when 9 then 'ÇİFT KANAT ÜST BÖLMELİ' when 10 then 'ÇİFT KANAT SAG BÖLMELİ' 
when 11 then 'ÇİFT KANAT SOL BÖLMELİ' when 12 then 'ÇİFT KANAT SAG / SOL BÖLMELİ' when 13 then 'ÇİFT KANAT ÜST VE SAG BÖLMELİ' 
when 14 then 'ÇİFT KANAT ÜST VE SOL BÖLMELİ' when 15 then 'ÇİFT KANAT ÜST VE SAG / SOL BÖLMELİ' when 16 then 'TEK KANAT CAM BÖLMELİ' 
when 17 then 'ÇİFT KANAT CAM BÖLMELİ' Else 'Hatalı Kapı Türü ' end as S_kanat_tur, COUNT(*) as say,
S_YON,S_KAPI_MODEL,S_BAYI_KODU, S_BAYI_ADI,S_OZ_KOD, S_Grup_kod,s_dismodelresim,S_KAPI_EN,S_MOB_KANAT_EN_DUS,S_KAPI_BOY,S_MOB_KANAT_BOY_DUS,
S_YAVRU_MOB_EN_DUS,S_YAVRU_KANAT_BOY_HES, S_SIP_TRH, S_IMODEL, S_DMODEL, S_Bolme_TUR,S_YAVRU_KANAT_EN_HES,S_USTBOLME_ACK, 
S_IRENK, S_DRENK,S_Ahsap_Not,S_AHSAP_BOY,S_CHK_CIFTKANAT,S_NOT3, S_KAPI_TUR,S_KASAEXTRA,S_bolme_tur, 
CASE WHEN S_GrupToplam = ' ' THEN S_SIPARIS_NO ELSE S_GrupToplam END As Gecici_sip_no 
from Siparis 
WHERE  S_BAYI_ADI ='Çınar Çelik Kapı' and S_GITTI<>1 AND S_IMALAT_NO>=1 AND S_IMALAT_NO<=999999 AND S_SIPARIS_NO>=1 AND S_SIPARIS_NO<=999999 
AND CONVERT(date,S_SIP_TRH,104) >= CONVERT(date,'01.01.2024',104)  AND CONVERT(date,S_SIP_TRH,104) <= CONVERT(date,'15.07.2024',104)  
group by 
S_KANATTUR_ID,S_YON,S_KAPI_MODEL,S_BAYI_KODU, S_BAYI_ADI,S_OZ_KOD, S_Grup_kod,s_dismodelresim,S_KAPI_EN,S_MOB_KANAT_EN_DUS,S_KAPI_BOY,S_MOB_KANAT_BOY_DUS,
S_YAVRU_MOB_EN_DUS,S_YAVRU_KANAT_BOY_HES, S_SIP_TRH, S_IMODEL, S_DMODEL, S_Bolme_TUR,S_YAVRU_KANAT_EN_HES,S_USTBOLME_ACK, 
S_IRENK, S_DRENK,S_Ahsap_Not,S_AHSAP_BOY, S_CHK_CIFTKANAT,S_NOT3, S_KAPI_TUR,S_KASAEXTRA,S_bolme_tur, 
CASE WHEN S_GrupToplam = ' ' THEN S_SIPARIS_NO ELSE S_GrupToplam END order by CONVERT(date,S_SIP_TRH,104) ASC


Ek Dosyalar Resimler
       
"…De ki: "Hiç bilenlerle bilmeyenler bir olur mu? Şüphesiz, temiz akıl sahipleri öğüt alıp-düşünürler" (Zümer Suresi, 9)
Cevapla
#2
Group by kısmından sağ ve sol dediğin değişkenleri çıkart
Select kısmına bu alanlar için kullanma şekline göre max, count, sum ifadelerini kullan
Bu dünyada kendine sakladığın bilgi ahirette işine yaramaz. 
Cevapla
#3
üstat şahsen net bilgim yok ama merakımdan dolayı chatgpt ye yazdım. belki işini görür düşüncesi ile ürettiği kodu paylaşıyorum. Birebir olmasa bile bir şekilde yol göstereceğini düşünüyorum.

SELECT 
    CASE S_KANATTUR_ID  
       WHEN 0 THEN 'TEK KANAT' 
       WHEN 1 THEN 'TEK KANAT ÜST BÖLMELİ' 
       WHEN 2 THEN 'TEK KANAT SAG BÖLMELİ' 
       WHEN 3 THEN 'TEK KANAT SOL BÖLMELİ'
       WHEN 4 THEN 'TEK KANAT SAG / SOL BÖLMELİ' 
       WHEN 5 THEN 'TEK KANAT ÜST VE SAG BÖLMELİ' 
       WHEN 6 THEN 'TEK KANAT ÜST VE SOL BÖLMELİ'
       WHEN 7 THEN 'TEK KANAT ÜST VE SAG / SOL BÖLMELİ' 
       WHEN 8 THEN 'ÇİFT KANAT' 
       WHEN 9 THEN 'ÇİFT KANAT ÜST BÖLMELİ' 
       WHEN 10 THEN 'ÇİFT KANAT SAG BÖLMELİ'
       WHEN 11 THEN 'ÇİFT KANAT SOL BÖLMELİ' 
       WHEN 12 THEN 'ÇİFT KANAT SAG / SOL BÖLMELİ' 
       WHEN 13 THEN 'ÇİFT KANAT ÜST VE SAG BÖLMELİ'
       WHEN 14 THEN 'ÇİFT KANAT ÜST VE SOL BÖLMELİ' 
       WHEN 15 THEN 'ÇİFT KANAT ÜST VE SAG / SOL BÖLMELİ' 
       WHEN 16 THEN 'TEK KANAT CAM BÖLMELİ'
       WHEN 17 THEN 'ÇİFT KANAT CAM BÖLMELİ' 
       ELSE 'Hatalı Kapı Türü ' 
   END AS S_kanat_tur,
   SUM(CASE WHEN S_YON = 'Sağ' THEN 1 ELSE 0 END) AS say_Sag,
   SUM(CASE WHEN S_YON = 'Sol' THEN 1 ELSE 0 END) AS say_Sol,
   COUNT(*) AS toplam_adet,
   S_KAPI_MODEL,
   S_BAYI_KODU,
   S_BAYI_ADI,
   S_OZ_KOD,
   S_Grup_kod,
   s_dismodelresim,
   S_KAPI_EN,
   S_MOB_KANAT_EN_DUS,
   S_KAPI_BOY,
   S_MOB_KANAT_BOY_DUS,
   S_YAVRU_MOB_EN_DUS,
   S_YAVRU_KANAT_BOY_HES,
   S_SIP_TRH,
   S_IMODEL,
   S_DMODEL,
   S_Bolme_TUR,
   S_YAVRU_KANAT_EN_HES,
   S_USTBOLME_ACK,
   S_IRENK,
   S_DRENK,
   S_Ahsap_Not,
   S_AHSAP_BOY,
   S_CHK_CIFTKANAT,
   S_NOT3,
   S_KAPI_TUR,
   S_KASAEXTRA,
   S_bolme_tur,
   CASE 
       WHEN S_GrupToplam = ' ' THEN S_SIPARIS_NO 
       ELSE S_GrupToplam 
   END AS Gecici_sip_no
FROM Siparis 
WHERE  
   S_BAYI_ADI ='Çınar Çelik Kapı' 
   AND S_GITTI<>1 
   AND S_IMALAT_NO>=1 
   AND S_IMALAT_NO<=999999 
   AND S_SIPARIS_NO>=1 
   AND S_SIPARIS_NO<=999999 
   AND CONVERT(date, S_SIP_TRH, 104) >= CONVERT(date, '01.01.2024', 104)  
   AND CONVERT(date, S_SIP_TRH, 104) <= CONVERT(date, '15.07.2024', 104)  
GROUP BY
   S_KANATTUR_ID,
   S_KAPI_MODEL,
   S_BAYI_KODU,
   S_BAYI_ADI,
   S_OZ_KOD,
   S_Grup_kod,
   s_dismodelresim,
   S_KAPI_EN,
   S_MOB_KANAT_EN_DUS,
   S_KAPI_BOY,
   S_MOB_KANAT_BOY_DUS,
   S_YAVRU_MOB_EN_DUS,
   S_YAVRU_KANAT_BOY_HES,
   S_SIP_TRH,
   S_IMODEL,
   S_DMODEL,
   S_Bolme_TUR,
   S_YAVRU_KANAT_EN_HES,
   S_USTBOLME_ACK,
   S_IRENK,
   S_DRENK,
   S_Ahsap_Not,
   S_AHSAP_BOY,
   S_CHK_CIFTKANAT,
   S_NOT3,
   S_KAPI_TUR,
   S_KASAEXTRA,
   S_bolme_tur,
   CASE 
       WHEN S_GrupToplam = ' ' THEN S_SIPARIS_NO 
       ELSE S_GrupToplam 
   END 
ORDER BY 
   CONVERT(date, S_SIP_TRH, 104) ASC;
Cevapla
#4
Verinin yapısını tam bilmemekle beraber, 
sağ sol yön sütununu group by dan kaldırıp,  min(sag) - max(sol) gibi bir grup fonksiyonla getirmek işimi çözebilir mi. 
satırı teke indiirirsiniz ama veri yapınızla uyuşurmu ona sizin karar vermeniz lazım.

ayrıca S_KANATTUR_ID  case yapınız yerine bir fonksiyon yazmanız sorgunuz daha dinamik ve sade hale getirecektir.
 
create function dbo.fn_KanatType(@S_KANATTUR_ID int)
returns varchar(60)
as
begin

return  case @S_KANATTUR_ID  
when 0 then 'TEK KANAT'
when 1 then 'TEK KANAT ÜST BÖLMELİ' 
when 2 then 'TEK KANAT SAG BÖLMELİ' 
when 3 then 'TEK KANAT SOL BÖLMELİ'
when 4 then 'TEK KANAT SAG / SOL BÖLMELİ' 
when 5 then 'TEK KANAT ÜST VE SAG BÖLMELİ' 
when 6 then 'TEK KANAT ÜST VE SOL BÖLMELİ'
when 7 then 'TEK KANAT ÜST VE SAG / SOL BÖLMELİ' 
when 8 then 'ÇİFT KANAT' 
when 9 then 'ÇİFT KANAT ÜST BÖLMELİ' 
when 10 then 'ÇİFT KANAT SAG BÖLMELİ'
when 11 then 'ÇİFT KANAT SOL BÖLMELİ' 
when 12 then 'ÇİFT KANAT SAG / SOL BÖLMELİ' 
when 13 then 'ÇİFT KANAT ÜST VE SAG BÖLMELİ'
when 14 then 'ÇİFT KANAT ÜST VE SOL BÖLMELİ' 
when 15 then 'ÇİFT KANAT ÜST VE SAG / SOL BÖLMELİ' 
when 16 then 'TEK KANAT CAM BÖLMELİ'
when 17 then 'ÇİFT KANAT CAM BÖLMELİ' 
Else 'Hatalı Kapı Türü ' 
end 

end


   
Kalan ömrünün en genç build’indesin.
Counter artar, deadline sabit.
Age++ çalışıyor, rollback yok.
Her yer exception
Cevapla
#5
@bydelphi hocam scalar function yerine table function yapmak daha doğru olmaz mı kayıt sayıları çok olduğunda scaler function çok yavaş kalabilir düşüncesindeyim.

Create FUNCTION [dbo].[fnt_Tanimlar] ( )
RETURNS @Tanimlar Table (Id Integer, Tanim Varchar(250))
AS  
BEGIN 
   Insert @Tanimlar (Id, Tanim)
   Values (Null, 'Hatalı Kapı Türü '),
           (0 , 'TEK KANAT'),
           (1, 'TEK KANAT ÜST BÖLMELİ'),
           (2, 'TEK KANAT SAG BÖLMELİ'),
           (3, 'TEK KANAT SOL BÖLMELİ'),
           (4, 'TEK KANAT SAG / SOL BÖLMELİ'),
           (5, 'TEK KANAT ÜST VE SAG BÖLMELİ'),
           (6, 'TEK KANAT ÜST VE SOL BÖLMELİ'),
           (7, 'TEK KANAT ÜST VE SAG / SOL BÖLMELİ'),
           (8, 'ÇİFT KANAT'),
           (9, 'ÇİFT KANAT ÜST BÖLMELİ'),
           (10, 'ÇİFT KANAT SAG BÖLMELİ'),
           (11, 'ÇİFT KANAT SOL BÖLMELİ'),
           (12, 'ÇİFT KANAT SAG / SOL BÖLMELİ'),
           (13, 'ÇİFT KANAT ÜST VE SAG BÖLMELİ'),
           (14, 'ÇİFT KANAT ÜST VE SOL BÖLMELİ'),
           (15, 'ÇİFT KANAT ÜST VE SAG / SOL BÖLMELİ'),
           (16, 'TEK KANAT CAM BÖLMELİ'),
           (17, 'ÇİFT KANAT CAM BÖLMELİ')

Return

end

Select * From dbo.fnt_Tanimlar()
Bu dünyada kendine sakladığın bilgi ahirette işine yaramaz. 
Cevapla
#6
Allah c.c razı olsun verilen tüm cevapları deneyeceğim 
Emekleriniz ve bilgileriniz için teşekkür ederim 
iyi ki varsınız
"…De ki: "Hiç bilenlerle bilmeyenler bir olur mu? Şüphesiz, temiz akıl sahipleri öğüt alıp-düşünürler" (Zümer Suresi, 9)
Cevapla
#7
(16-07-2024, Saat: 10:21)adelphiforumz Adlı Kullanıcıdan Alıntı: @bydelphi hocam scalar function yerine table function yapmak daha doğru olmaz mı kayıt sayıları çok olduğunda scaler function çok yavaş kalabilir düşüncesindeyim.

Create FUNCTION [dbo].[fnt_Tanimlar] ( )
RETURNS @Tanimlar Table (Id Integer, Tanim Varchar(250))
AS  
BEGIN 
   Insert @Tanimlar (Id, Tanim)
   Values (Null, 'Hatalı Kapı Türü '),
           (0 , 'TEK KANAT'),
           (1, 'TEK KANAT ÜST BÖLMELİ'),
           (2, 'TEK KANAT SAG BÖLMELİ'),
           (3, 'TEK KANAT SOL BÖLMELİ'),
           (4, 'TEK KANAT SAG / SOL BÖLMELİ'),
           (5, 'TEK KANAT ÜST VE SAG BÖLMELİ'),
           (6, 'TEK KANAT ÜST VE SOL BÖLMELİ'),
           (7, 'TEK KANAT ÜST VE SAG / SOL BÖLMELİ'),
           (8, 'ÇİFT KANAT'),
           (9, 'ÇİFT KANAT ÜST BÖLMELİ'),
           (10, 'ÇİFT KANAT SAG BÖLMELİ'),
           (11, 'ÇİFT KANAT SOL BÖLMELİ'),
           (12, 'ÇİFT KANAT SAG / SOL BÖLMELİ'),
           (13, 'ÇİFT KANAT ÜST VE SAG BÖLMELİ'),
           (14, 'ÇİFT KANAT ÜST VE SOL BÖLMELİ'),
           (15, 'ÇİFT KANAT ÜST VE SAG / SOL BÖLMELİ'),
           (16, 'TEK KANAT CAM BÖLMELİ'),
           (17, 'ÇİFT KANAT CAM BÖLMELİ')

Return

end

Select * From dbo.fnt_Tanimlar()


Evet haklısın üstad, 
örneğin onbinlerce satırlık bir result da , herbir satır için fonksiyon içindeki case yapısısının onbinlerce kez dönmesi ne göre 
from da belirtilen table type fonksiyonun bir kere çalışıp referans üzerinden joinlenmesi daha hızlı sonuç verecektir kesinlikle.
projenin yapısına göre eğer kullanıcı manipulasyonu varsa fiziksel tabloda, manipulasyon yoksa statik ise skaler veya table type fonksiyon kullanıyorum duruma göre.
ama data büyükse table type fonksiyonun çok ciddi avantajı olacaktır dediğin gibi. 
elimdeki büyük bir data da performans karşılaştırması yapıp , bunu belgeleyelim somutlaştıralım üstad.
Kalan ömrünün en genç build’indesin.
Counter artar, deadline sabit.
Age++ çalışıyor, rollback yok.
Her yer exception
Cevapla
#8
(16-07-2024, Saat: 08:37)SercanTEK Adlı Kullanıcıdan Alıntı: üstat şahsen net bilgim yok ama merakımdan dolayı chatgpt ye yazdım. belki işini görür düşüncesi ile ürettiği kodu paylaşıyorum. Birebir olmasa bile bir şekilde yol göstereceğini düşünüyorum.

SELECT 
    CASE S_KANATTUR_ID  
       WHEN 0 THEN 'TEK KANAT' 
       WHEN 1 THEN 'TEK KANAT ÜST BÖLMELİ' 
       WHEN 2 THEN 'TEK KANAT SAG BÖLMELİ' 
       WHEN 3 THEN 'TEK KANAT SOL BÖLMELİ'
       WHEN 4 THEN 'TEK KANAT SAG / SOL BÖLMELİ' 
       WHEN 5 THEN 'TEK KANAT ÜST VE SAG BÖLMELİ' 
       WHEN 6 THEN 'TEK KANAT ÜST VE SOL BÖLMELİ'
       WHEN 7 THEN 'TEK KANAT ÜST VE SAG / SOL BÖLMELİ' 
       WHEN 8 THEN 'ÇİFT KANAT' 
       WHEN 9 THEN 'ÇİFT KANAT ÜST BÖLMELİ' 
       WHEN 10 THEN 'ÇİFT KANAT SAG BÖLMELİ'
       WHEN 11 THEN 'ÇİFT KANAT SOL BÖLMELİ' 
       WHEN 12 THEN 'ÇİFT KANAT SAG / SOL BÖLMELİ' 
       WHEN 13 THEN 'ÇİFT KANAT ÜST VE SAG BÖLMELİ'
       WHEN 14 THEN 'ÇİFT KANAT ÜST VE SOL BÖLMELİ' 
       WHEN 15 THEN 'ÇİFT KANAT ÜST VE SAG / SOL BÖLMELİ' 
       WHEN 16 THEN 'TEK KANAT CAM BÖLMELİ'
       WHEN 17 THEN 'ÇİFT KANAT CAM BÖLMELİ' 
       ELSE 'Hatalı Kapı Türü ' 
   END AS S_kanat_tur,
   SUM(CASE WHEN S_YON = 'Sağ' THEN 1 ELSE 0 END) AS say_Sag,
   SUM(CASE WHEN S_YON = 'Sol' THEN 1 ELSE 0 END) AS say_Sol,
   COUNT(*) AS toplam_adet,
   S_KAPI_MODEL,
   S_BAYI_KODU,
   S_BAYI_ADI,
   S_OZ_KOD,
   S_Grup_kod,
   s_dismodelresim,
   S_KAPI_EN,
   S_MOB_KANAT_EN_DUS,
   S_KAPI_BOY,
   S_MOB_KANAT_BOY_DUS,
   S_YAVRU_MOB_EN_DUS,
   S_YAVRU_KANAT_BOY_HES,
   S_SIP_TRH,
   S_IMODEL,
   S_DMODEL,
   S_Bolme_TUR,
   S_YAVRU_KANAT_EN_HES,
   S_USTBOLME_ACK,
   S_IRENK,
   S_DRENK,
   S_Ahsap_Not,
   S_AHSAP_BOY,
   S_CHK_CIFTKANAT,
   S_NOT3,
   S_KAPI_TUR,
   S_KASAEXTRA,
   S_bolme_tur,
   CASE 
       WHEN S_GrupToplam = ' ' THEN S_SIPARIS_NO 
       ELSE S_GrupToplam 
   END AS Gecici_sip_no
FROM Siparis 
WHERE  
   S_BAYI_ADI ='Çınar Çelik Kapı' 
   AND S_GITTI<>1 
   AND S_IMALAT_NO>=1 
   AND S_IMALAT_NO<=999999 
   AND S_SIPARIS_NO>=1 
   AND S_SIPARIS_NO<=999999 
   AND CONVERT(date, S_SIP_TRH, 104) >= CONVERT(date, '01.01.2024', 104)  
   AND CONVERT(date, S_SIP_TRH, 104) <= CONVERT(date, '15.07.2024', 104)  
GROUP BY
   S_KANATTUR_ID,
   S_KAPI_MODEL,
   S_BAYI_KODU,
   S_BAYI_ADI,
   S_OZ_KOD,
   S_Grup_kod,
   s_dismodelresim,
   S_KAPI_EN,
   S_MOB_KANAT_EN_DUS,
   S_KAPI_BOY,
   S_MOB_KANAT_BOY_DUS,
   S_YAVRU_MOB_EN_DUS,
   S_YAVRU_KANAT_BOY_HES,
   S_SIP_TRH,
   S_IMODEL,
   S_DMODEL,
   S_Bolme_TUR,
   S_YAVRU_KANAT_EN_HES,
   S_USTBOLME_ACK,
   S_IRENK,
   S_DRENK,
   S_Ahsap_Not,
   S_AHSAP_BOY,
   S_CHK_CIFTKANAT,
   S_NOT3,
   S_KAPI_TUR,
   S_KASAEXTRA,
   S_bolme_tur,
   CASE 
       WHEN S_GrupToplam = ' ' THEN S_SIPARIS_NO 
       ELSE S_GrupToplam 
   END 
ORDER BY 
   CONVERT(date, S_SIP_TRH, 104) ASC;

Merhabalar,

Veritabanı size ait ise tarih alanlarını DateTime olarak oluşturmamanızı öneririm.
Büyük sorgularda CONVERT işlemi index dahi olsa ağırlaştırıyor.

Bunun yerine DATE için bir alan, TIME için bir alan kullanın.

Eğer yapamıyorsanız DateTime alanını '2024-07-16 00:00:00' şeklinde CONVERT kullanmadan sorgulayabilrsiniz.

Kolay gelsin.
Amaç, bilginin de/aklın da zekat'ını vermek.
Cevapla
#9
Allah c.c hepinizden razı olsun dediklerinizi uyguladım kanat türünü tablo yaptım LEFT JOIN ile bağladım.

S_YON sorgudan çıkardım say_sag ve say_sol  ekleyerek sonuca ulaştım.

select S_KANATTUR_ID,COUNT(*) as say,S_KAPI_MODEL,S_BAYI_KODU, S_BAYI_ADI,S_OZ_KOD, S_Grup_kod,S_KAPI_EN,S_MOB_KANAT_EN_DUS,S_KAPI_BOY,S_MOB_KANAT_BOY_DUS,

S_YAVRU_MOB_EN_DUS,S_YAVRU_KANAT_BOY_HES,s_dismodelresim,S_SIP_TRH, S_IMODEL, S_DMODEL, S_Bolme_TUR,S_YAVRU_KANAT_EN_HES,S_USTBOLME_ACK, S_IRENK, S_DRENK,
S_Ahsap_Not,S_AHSAP_BOY, S_CHK_CIFTKANAT,S_GITTI,S_NOT3, S_KAPI_TUR,S_KASAEXTRA,S_bolme_tur, 
CASE WHEN S_GrupToplam = ' ' THEN S_SIPARIS_NO ELSE S_GrupToplam END As Gecici_sip_no, KANATTUR.Kanat_Id,KANATTUR.kanat_turu, 
SUM(CASE WHEN S_YON =  'SAG' THEN 1 ELSE 0 END) AS say_Sag,SUM(CASE WHEN S_YON = 'SOL' THEN 1 ELSE 0 END) AS say_Sol 
from Siparis LEFT JOIN KANATTUR ON  S_KANATTUR_ID = KANATTUR.Kanat_Id WHERE  S_BAYI_ADI ='Çınar Çelik Kapı' and S_GITTI<>1 AND 
S_IMALAT_NO>=1 AND S_IMALAT_NO<=999999 AND S_SIPARIS_NO>=1 AND S_SIPARIS_NO<=999999 AND CONVERT(date,S_SIP_TRH,104) >= CONVERT(date,'01.01.2024',104)  
AND CONVERT(date,S_SIP_TRH,104) <= CONVERT(date,'16.07.2024',104)  
group by 
S_KANATTUR_ID,S_KAPI_MODEL,S_BAYI_KODU, S_BAYI_ADI,S_OZ_KOD, S_Grup_kod,
s_dismodelresim,S_KAPI_EN,S_MOB_KANAT_EN_DUS,S_KAPI_BOY,S_MOB_KANAT_BOY_DUS,S_YAVRU_MOB_EN_DUS,S_YAVRU_KANAT_BOY_HES, S_SIP_TRH, S_IMODEL, S_DMODEL, 
S_Bolme_TUR,S_YAVRU_KANAT_EN_HES,S_USTBOLME_ACK,KANATTUR.Kanat_Id,KANATTUR.kanat_turu, S_IRENK, S_DRENK,S_Ahsap_Not,S_AHSAP_BOY, S_CHK_CIFTKANAT,
S_GITTI,S_NOT3, S_KAPI_TUR,S_KASAEXTRA,S_bolme_tur, CASE WHEN S_GrupToplam = ' ' THEN S_SIPARIS_NO ELSE S_GrupToplam END  Order by S_KAPI_MODEL


Ek Dosyalar Resimler
   
"…De ki: "Hiç bilenlerle bilmeyenler bir olur mu? Şüphesiz, temiz akıl sahipleri öğüt alıp-düşünürler" (Zümer Suresi, 9)
Cevapla
#10
@cinarbil kapiSys combobox ını 1 pixel yukarı taşırsanız alt ve üst boşluklar eşitlenecek gibi Rolleyes (Maşallah GUI çok hoşuma gittiği için gözüme battı)
Cevapla


Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  lazreportda resim gosterme sadikacar60 0 489 14-12-2024, Saat: 20:08
Son Yorum: sadikacar60
  cmd Komut Satırı sonucunu çekme barissagir 6 1.395 25-09-2024, Saat: 08:39
Son Yorum: COMMANDX
  string icinde alt satirda goster koduyla beraber nasil gonderilir sadikacar60 4 1.352 09-09-2024, Saat: 08:42
Son Yorum: damert6
  Klasör İçindeki Resimleri Gösterme sadoal351 5 1.673 13-04-2024, Saat: 22:40
Son Yorum: sadoal351
  Tramer SBM Sorgu ikurt07 7 2.522 27-02-2024, Saat: 12:01
Son Yorum: yhackup



Konuyu Okuyanlar: 1 Ziyaretçi