Sütuna Göre Listeleme
pro_imaj01.07.2005 - 09:39:07
Merhaba,

SELECT DISTINCT STI.Tarih, STI.MalKodu, STK.MalAdi, CHK.Unvan1, STI.Miktar
FROM SOLAR4.FINSAT460.CHK CHK, SOLAR4.FINSAT460.STI STI, SOLAR4.FINSAT460.STK STK
WHERE STK.MalKodu = STI.MalKodu AND STI.Chk = CHK.HesapKodu AND ((STI.IslemTur=1))
GROUP BY STI.Tarih, STI.MalKodu, STK.MalAdi, CHK.Unvan1, STI.Miktar

Yukarıdaki kod ile aşağıdaki sonuca ulaşıyorum.


Tarih MalKodu MalAdi Unvan1 Miktar
26.05.2005 ML500 Filitre BMV 120
26.05.2005 ML500 Filitre RENOULT 100


Yapmak İstediğim
Tarih
26.05.2005


MalKodu BMV RENOULT
ML500 120 100



Yukarıdaki değerler sabit diil yani yukarıda BMV ve RENOULT var ama bu onlarca olabiliyor. Veri tabanında yüzlerce girilebiliyor. Benim bunu SQL ile yapmam mümkünmü acaba.

Saygılarımla.
 
Hakan Can01.07.2005 - 10:20:31
Satırları belirsiz sayıda sütün olarak direk SQL komutu ile döndüremezsiniz.
Bu problemi ancak kod yazarak çözebilirsiniz.

İyi çalışmalar.
 
naile01.07.2005 - 10:23:13
Sabit olmadığı için ancak bir döngü ile sql oluşturarak yapabilirisn. Yani mesela yukardaki bmw, reno v.b. bilgilerinin tutulduğu tablo olsun Unvan diye. Önce burdan bir sorgu çalıştır:

var
SQLText: string;
begin
Query1.Close;
Query1.SQL.Text := 'SELECT UnvanKodu FROM Unvan';
Query1.Close;

while not(Query1.Eof)
begin
SQLText := SQLText + ',' +'(Select Miktar FROM Tablom WHere Unvan='+Query1.Fields[0].AsString+')';
Query1.Next;
end;

// sonra bu sqltext senin sqline ekleyeceksin
end;


Tam bu şekil çalışmaz biraz değişiklik yapman gerekebilir ama mantığı anlamışsındır umarım. Yani, iç select kullanacaksın ama bunu döngü ile oluşturup sqline ekleyeceksin.
 
NOT : Bu sayfa google'un siteyi indekslemesi içindir. www.delphiturkiye.com/forum/ adresini kullanınız!
1998-2006 www.delphiturkiye.com