sql sorgusu

MS SQL Server veritabanı ve SQL komutlarıyla ilgli sorularınızı sorabilirsiniz. Delphi tarafındaki sorularınızı lütfen Programlama forumunda sorunuz.
Cevapla
Kullanıcı avatarı
metemete
Üye
Mesajlar: 422
Kayıt: 21 Mar 2004 12:30
Konum: samsun
İletişim:

sql sorgusu

Mesaj gönderen metemete » 13 Ağu 2008 09:20

iki adet tablo var
create table stok
kod,isim string

create table stokfiyatlar
kod,fiyatsirano,fiyat

buna göre
stok
kod, isim
101, kalem

stokfiyatlar
kod, fiyatsirano, fiyat
101, 1 ,0.5
101, 2 ,1.5
101, 3 ,1.0


bu
Select kod,fiyatsirano[1].fiyat,fiyatsirano[2].fiyat,fiyatsirano[3].fiyat from .....
gibi nasıl bir cümle ile asagıdakı görüntüyü nasıl alabılırım?

101, 0.5 , 1.5 , 1.0

Kullanıcı avatarı
naile
Admin
Mesajlar: 1873
Kayıt: 11 Haz 2003 09:11

Re: sql sorgusu

Mesaj gönderen naile » 15 Ağu 2008 12:46

Pivot kullanabilirsin:

Kod: Tümünü seç

SELECT Kod, [1] AS [1. Ay], [2] AS [2. Ay], [3] AS [3. Ay]
FROM
  stokfiyat
PIVOT
(
SUM (fiyat)
FOR fiyatsirano IN
( [1], [2], [3])
) AS pvt

Hakan Can
Üye
Mesajlar: 634
Kayıt: 04 Mar 2005 04:27
Konum: Ankara

Re: sql sorgusu

Mesaj gönderen Hakan Can » 15 Ağu 2008 07:13

Şöyle bir SQL de işini görebilir:

Kod: Tümünü seç

SELECT
  KOD,
  SUM(CASE WHEN FIYATSIRANO = 1 THEN FIYAT ELSE 0.0 END) AS FIYAT_1,
  SUM(CASE WHEN FIYATSIRANO = 2 THEN FIYAT ELSE 0.0 END) AS FIYAT_2,
  SUM(CASE WHEN FIYATSIRANO = 3 THEN FIYAT ELSE 0.0 END) AS FIYAT_3
FROM STOKFIYATLAR
GROUP BY KOD
ORDER BY KOD

Cevapla