SQL Server 2012’de veri tabanım ve XE7 kullanıyorum. Benim yapmak istediğim kısaca şöyle. 2 Tane tablom var.
TABLO1 = YIL, SIRA, STOK, ADRES
TABLO2 = YIL, SIRA, STOK, SİPARİŞ_NU, GARANTI_BAS_TA
Tablo ve Sütunlarım var. Bu tablolar ile tek bir sorguda;
1_ İki tabloda da YIL ve SIRA aynı olanları birleştirsin TABLO2 deki eşleşmeyenleri göstermesin.
2_ TABLO1 sütununda YIL ve SIRA sütununu birleştirsin NUMARA olarak başka satırda yazsın.
3_ Eşleşenlerin içinde TABLO2 deki SİPARİŞ_NU nun içinde “K” içeren siparişlere “365” gün. “M” içeren siparişlere “730” gün ve diğere harflere “0” olarak GARANTİ_SURE diye sütun açıp rakamları buraya yazsın.
4_ Yeni oluşturulan GARANTİ_SURE sütunu ile GARANTI_BAS_TA sütunlarını toplayıp GARANTI_BITIS_TA sütunu oluştursun.
Sorguda sütun dizini YIL. SIRA, STOK, ADRES, SIPARIS_NU, GARANTİ_SURE, GARANTI_BAS_TA, GARANTI_BITIS_TA olacak.
Biraz fazla oldu ama umarım bu konuda bana yardımcı olursunuz. Herkese hayırlı akşamlar.
İç içe karmaşık sorgu yapma.
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
Re: İç içe karmaşık sorgu yapma.
Kod: Tümünü seç
SELECT
T1.YIL,
T1.SIRA,
T1.STOK,
T1.ADRES,
T2.SIPARIS_NU,
CASE
WHEN T2.SIPARIS_NU LIKE '%K%' THEN 365
WHEN T2.SIPARIS_NU LIKE '%M%' THEN 730
ELSE 0
END AS GARANTI_SURE,
T2.GARANTI_BAS_TA,
DATEADD(DAY,
CASE
WHEN T2.SIPARIS_NU LIKE '%K%' THEN 365
WHEN T2.SIPARIS_NU LIKE '%M%' THEN 730
ELSE 0
END,
T2.GARANTI_BAS_TA
) AS GARANTI_BITIS_TA
FROM
TABLO1 T1
INNER JOIN
TABLO2 T2 ON T1.YIL = T2.YIL AND T1.SIRA = T2.SIRA
بِسْمِ اللهِ الرَّحْمنِ الرَّحِيمِ
Forumun 365. Üyesi
Hiç Bir Şey İnsan Kadar Yükselemez ve Alçalamaz
Erkan ÇAĞLAR
Forumun 365. Üyesi
Hiç Bir Şey İnsan Kadar Yükselemez ve Alçalamaz
Erkan ÇAĞLAR
-
- Üye
- Mesajlar: 30
- Kayıt: 08 Oca 2025 10:35
Re: İç içe karmaşık sorgu yapma.
GARANTI_BITIS_TA den Bu günün tarihini çıkartsınErtuğrul2025 yazdı: 11 Nis 2025 08:33 SQL Server 2012’de veri tabanım ve XE7 kullanıyorum. Benim yapmak istediğim kısaca şöyle. 2 Tane tablom var.
TABLO1 = YIL, SIRA, STOK, ADRES
TABLO2 = YIL, SIRA, STOK, SİPARİŞ_NU, GARANTI_BAS_TA
Tablo ve Sütunlarım var. Bu tablolar ile tek bir sorguda;
1_ İki tabloda da YIL ve SIRA aynı olanları birleştirsin TABLO2 deki eşleşmeyenleri göstermesin.
2_ TABLO1 sütununda YIL ve SIRA sütununu birleştirsin NUMARA olarak başka satırda yazsın.
3_ Eşleşenlerin içinde TABLO2 deki SİPARİŞ_NU nun içinde “K” içeren siparişlere “365” gün. “M” içeren siparişlere “730” gün ve diğere harflere “0” olarak GARANTİ_SURE diye sütun açıp rakamları buraya yazsın.
4_ Yeni oluşturulan GARANTİ_SURE sütunu ile GARANTI_BAS_TA sütunlarını toplayıp GARANTI_BITIS_TA sütunu oluştursun.
Sorguda sütun dizini YIL. SIRA, STOK, ADRES, SIPARIS_NU, GARANTİ_SURE, GARANTI_BAS_TA, GARANTI_BITIS_TA olacak.
Biraz fazla oldu ama umarım bu konuda bana yardımcı olursunuz. Herkese hayırlı akşamlar.
Sonuç "=>0" ise "GARANTİSİ DEVAM EDİYOR"
Sonuç "<0" ise "GARANTİSİ BİTTİ"
ve GARANTI_BITIS_TA boş ise "GARANTİSİ BAŞLAMADI"
yazsın. Size zahmet bu konuda bana yardımcı olabilirmisiniz.