Tüm Arkadaşlara Selamlar...
SİCİL**AY***UCRET-
120658 OCAK 1250000000
125897 OCAK 950000000
..................... ......................... ......
...................................... ........
120658 SUBAT 1300000000
125897 SUBAT 1250000000
156897 SUBAT 85000000
.................................................
..................................................
gibi datalarımın olduğu bir database dosyam var..
Bunu SQL kullanarak çıktısını(gridde) aşağıdaki şekle nasıl getirebilirim??
**SICIL**OCAK*** SUBAT **** MART****.............
------------- --------- -------------------------------------
120658 125000000 1300000000 1289000000 ..........
125897 950000000 1250000000 1450000000 ..........
.... ...............................................................................
.... ..........................................................................
Not:Dosyam dbase formatında..
Herşey gönlünüzce olsun...
SQL ile çıktı formatı değişimi
Re: SQL İLE ÇIKTI FORMATI DEĞİŞİMİ
Sanırım şu şekilde yapabilirsin:
Kod: Tümünü seç
SELECT SICIL
,(SELECT SUM(UCRET) FROM TABLO WHERE SICIL=T.SICIL AND AY='OCAK') AS OCAK
,(SELECT SUM(UCRET) FROM TABLO WHERE SICIL=T.SICIL AND AY='SUBAT') AS SUBAT
,(SELECT SUM(UCRET) FROM TABLO WHERE SICIL=T.SICIL AND AY='MART') AS MART
FROM TABLO T
GROUP BY SICIL
Re: SQL İLE ÇIKTI FORMATI DEĞİŞİMİ
Amacım Ücretleri toplatmak değil aylara karşılık gelen ücretleri yan yana sıralamak..naile yazdı:Sanırım şu şekilde yapabilirsin:
Kod: Tümünü seç
SELECT SICIL ,(SELECT SUM(UCRET) FROM TABLO WHERE SICIL=T.SICIL AND AY='OCAK') AS OCAK ,(SELECT SUM(UCRET) FROM TABLO WHERE SICIL=T.SICIL AND AY='SUBAT') AS SUBAT ,(SELECT SUM(UCRET) FROM TABLO WHERE SICIL=T.SICIL AND AY='MART') AS MART FROM TABLO T GROUP BY SICIL
Naile ve Onaydın arkadaşlarımızın yazdığı kod çalışmadı çalışıyor gibi görünüyor dakikalarca beklememe rağmen sonuç gelmiyor...onaydin yazdı:Yukardaki kodda zaten toplam almaktan ziyade yan yana dizer.
Yalnız where kısmına yıl ı da eklemek lazım.
İnner joinle aşağıdaki şekilde çözdüm... bu kodu inner joinsiz yazma imkanı varmı??????
SELECT S1.SICIL,
S1.UCRET AS OCAK,
S2.UCRET AS SUBAT,
S3.UCRET AS MART,
FROM KAYIT S1
INNER JOIN KAYIT S2 ON(S1.SICIL=S2.SICIL)
INNER JOIN KAYIT S3 ON(S1.SICIL=S3.SICIL)
WHERE S1.AY='(01)OCAK' AND S2.AY='(02)SUBAT' AND
S3.AY='(03)MART'
AND S1.YIL='2004' AND S2.YIL='2004' AND S3.YIL='2004'