Selamlar,
Bildiğim kadarıyla kendi ürettiğiniz kolon isimlerini WHERE kısmında
kullanamıyorsunuz. ORDER BY ve GROUP BY içinde kullanabiliyorsunuz.
Ayrıca SELECT içine bir SELECT daha eklemek oldukça maliyetli.
paket_detay tablosundan gelen her bir satır için içteki sorgu çalışacak.
Bunu INNER JOIN ile şöyle düzenleyebileceğinizi düşündüm:
SELECT siparis_durum_detay.sira_no, siparis_durum_detay.urun_kod,
siparis_durum_detay.urun_ad, siparis_durum_detay.adet,
SUM(paket_detay.adet) AS paketlenen
FROM siparis_durum
INNER JOIN paket_detay ON paket_detay.siparis_detay_sn =
siparis_durum_detay.sira_no
LEFT JOIN siparis_durum_detay ON siparis_durum.sira_no =
siparis_durum_detay.master_no
WHERE tesis_no = 'CSI0078' AND paket_detay.adet != 0 AND
paket_detay.adet IS NOT NULL;
Bu durumda sadece tek bir sorgu çalışacak. Ayrıca "paketlenen" kolonuna
göre bir koşul çalıştırmanız gerekmeyecek. Eğer "adet" kolonu sıfır veya
null olmuyorsa sondaki kontrolleri kaldırabilirsiniz.
On 6/3/19 7:24 PM, Dr. Mucibirahman İLBUĞA wrote:
Merhabalar,
PostgreSQL kullanıyorum ve aşağıdaki gibi bir SQL cümlem var:
SELECT siparis_durum_detay.sira_no, siparis_durum_detay.urun_kod,
siparis_durum_detay.urun_ad, siparis_durum_detay.adet, (SELECT SUM(adet)
FROM paket_detay WHERE paket_detay.siparis_detay_sn =
siparis_durum_detay.sira_no) AS *paketlenen* FROM siparis_durum LEFT
JOIN siparis_durum_detay ON siparis_durum.sira_no =
siparis_durum_detay.master_no WHERE tesis_no = 'CSI0078' AND *paketlenen*>0;
Burada hata alıyorum? paketlenen diye bir kolon yoktur diyor? Olması
gerekir diye düşünüyorum...
--
Kolay gelsin,
Mucip:)
_______________________________________________
Linux-programlama mailing list
Linux-programlama@liste.linux.org.tr
https://liste.linux.org.tr/mailman/listinfo/linux-programlama
Liste kurallari: http://liste.linux.org.tr/kurallar.php
--
Ege
_______________________________________________
Linux-programlama mailing list
Linux-programlama@liste.linux.org.tr
https://liste.linux.org.tr/mailman/listinfo/linux-programlama
Liste kurallari: http://liste.linux.org.tr/kurallar.php