Sql-sorgu sonucu çıkan değer ile sütun arası fark

Katılım
22 Mar 2017
Mesajlar
11
Puanları
1
Yaş
33
Merhabalar;

Aşağıdaki gibi bir sql yapısı oluşturdum ve sorgu ile ortaya çıkan sonuç ise resimdeki gib i olmaktadır. Yapmak istediğim "uretim" diye adlandırdığım sorgu ifadesini "task_pres_piece" adlı sütündan çıkartmak ve en sona kolon olarak eklemektir. Ben birçok yol denedim fakat yapamadım. En sonda olacak olan sütun adının "FARK" olacağını varsayalım. (task_pres_piece - uretim) sorgusunun sonucu "FARK" kolonu olarak yanda gözükecektir.NULL yazan ifadelerinde sıfır değeri alması gerekiyor. Lütfen bu konuda yardımlarınız bekliyorum. Benim sorgu cümlem üzerinden devam edilmesi gerekiyor.Tam olarak aşağıdaki gibi sonuç almam lazım fakat dediğim gibi yanlızca en sağ tarafta istediğim işlemin sütununu getiremiyorum.


Sql Sorgu Cümlem;


SELECT tblTaskPres.task_pres_id,task_pres_order_detail,tblTaskPres.task_pres_yayin_tarihi,order_profil_no,tblOrder.order_customer_name ,tblOrder.order_surface_name,tblOrder.order_color_name,tblOrder.order_length,tblOrder.order_piece,tblOrder.order_kg,tblOrder.order_kg,tblTaskPres.task_pres_piece,(SELECT SUM(tblProductPres.product_piece) FROM tblProductPres WHERE tblTaskPres.task_pres_id= tblProductPres.product_planning_id ) as uretim
FROM tblTaskPres,tblOrder where tblOrder.order_detail_no=tblTaskPres.task_pres_order_detail


Sorgu Cümlemin Sonucu(Ek Resim Olarak);
sqlsoru3.jpg
 
(SELECT SUM(tblProductPres.product_piece) FROM tblProductPres WHERE tblTaskPres.task_pres_id= tblProductPres.product_planning_id ) as uretim

kısmını

CASE WHEN
(SELECT SUM(tblProductPres.product_piece) FROM tblProductPres WHERE tblTaskPres.task_pres_id= tblProductPres.product_planning_id ) IS NULL THEN 0
ELSE
(SELECT SUM(tblProductPres.product_piece) FROM tblProductPres WHERE tblTaskPres.task_pres_id= tblProductPres.product_planning_id )
END

şeklinde yazabilirsin.

Daha kısa, kolay, genel amaçlı kullanımı null dönen değeri sıfır döndürecek bir fonksiyon yazmak.


MSSQL kullanıyorsan CONCAT_NULL_YIELDS_NULL parametresine de bakabilirsin.
 
İsmail Bey cevabınız için teşekkür ederim. Yukarıda bahsettiğim iki kolon arasındaki farkı bu sorgu üzerinden nasıl yapabilirim. as uretim şeklinde adlandırdığım zaman o kolonu uretim adı altında kullanıp çıkarma işlemi yapmayı düşünüyordum. O konuda yardımcı olabilir misiniz. Yani yukarıda bahsettiğim problem ile alakalı. Şimdiden teşekkür ederim.
 
Uretim kolonu yerine yukarıda yazdığım case -end li yazımı kullanabilirsin.
Burası null döndürmeyeceğinden farkını da alabilirsin.

Hangi SQL'i kullanıyorsun?
 
SQL 2016 EXPRESS. Sizin söylediğiniz gibi yaptım fakat bahsettiğim iki kolon arasındaki kolonun farkını vermiyor. Konunun başında belirttiğim sql sorgusunda sizin verdiğiniz case-end yapısını koydum fakat yapamadım.:(
 

Forum istatistikleri

Konular
129,798
Mesajlar
930,191
Kullanıcılar
452,591
Son üye
Ercan Akkaya

Yeni konular

Geri
Üst