Sql sorgusu hakkında yardım

05/04/2016, 16:53

furkantnc

Arkadaşlar bir firma mülakat sorusu olarak bunu sordu. Şöyle bir veritabanı verdiler;


Alttaki fotoğrafta query 1 ve 2 istediği sorguların çıktıları. Şimdi ilk soru olan query 1 de x1 ve x2 adlı 2 ürün var. tbl_sarf tablosundaki kayıtlara sorgu çekilerek ocak, şubat olarak 12 aya ayırıp. sarf tutarını yazıcak. Sadece ocak ayı için bunu yazmam yeterli;





SELECT Urun, SUM(Tutar) AS Ocak
FROM tbl_sarf
WHERE Tarih = 'Ocak'
GROUP BY Urun;

Ama diğer aylar nasıl olucak işin ucundan çıkamadım açıkcası. Sql tarafında sanırsam bi metod gerekli yada ne biliyim bi for döngüsü gibi bişey dönücek? Yardımcı olursanız sevinirim. Perşembe günü göndermem lazım. Şuan o firmada işçiyim belki daha iyi bir yere geçebilirim. Şimdiden teşekkürler..
05/04/2016, 19:14

atoz112

sayın furkantnc,

bahsettiğiniz talebinize yönelik olarak;
çözüm önerisi olması adına,Çapraz Sorgu oluşturabilirsiniz.bunun için,yapılması gerekenler şunlardır:

1)

yeni bir sorgu oluşturunuz.(örnek için Sorgu1 ismi verilmiştir.)
ve,aşağıdaki kodları bu sorgunun içerisine dahil edip kaydediniz.
Kod:
SELECT tbl_sarf.Tarih, tbl_sarf.Urun, Sum(tbl_sarf.Sarf) AS ToplaSarf
FROM tbl_sarf
GROUP BY tbl_sarf.Tarih, tbl_sarf.Urun;
2)

oluşturulan bu sorguyu kaynak göstermek üzere yeni bir sorgu oluşturunuz ve aşağıdaki Sql kodlarını bu yeni sorguya dahil edip kaydediniz.
Kod:
TRANSFORM Sum(Sorgu1.ToplaSarf) AS ToplaToplaSarf

SELECT Sorgu1.Urun, Sum(Sorgu1.ToplaSarf) AS YilToplam
FROM Sorgu1
GROUP BY Sorgu1.Urun
PIVOT Sorgu1.Tarih;
bilginize...iyi çalışmalar,saygılar.
06/04/2016, 00:46

furkan340

Hocam gerçekten oldu çok teşekkür ederim allah razı olsun sizden..