Null Değerleri Getirme

0 oy
T-SQL kategorisinde misafir sordu
Merhaba, yaptığım bir ödevde şöyle bir sorunla karşılaştım:

Northwind veritabanında ürünlerime ve çalışanlarımın bağlı olduğu bölgelere göre satış toplamlarını listelemek istiyorum. Ancak o bölgede o ürünün satışı olmamışsa null olarak gelmesini istiyorum ama bunu sağlayamadım. Yazdığım kod bu yardımcı olursanız sevinirim.

SELECT P.ProductName,R.RegionDescription,SUM(OD.Quantity) Adet FROM Products P
JOIN [Order Details] OD ON P.ProductID=OD.ProductID
JOIN Orders O ON OD.OrderID=O.OrderID
JOIN Employees E ON O.EmployeeID=E.EmployeeID
JOIN EmployeeTerritories ET ON E.EmployeeID=ET.EmployeeID
JOIN Territories T ON ET.TerritoryID=T.TerritoryID
JOIN Region R ON T.RegionID=R.RegionID
GROUP BY P.ProductName,R.RegionDescription
ORDER BY P.ProductName,R.RegionDescription

1 cevap

0 oy
yildizib (180 puan) cevapladı

Selam, ne yazık ki T-SQL ile deneme şansım olmadı. PostgreSQL de 

https://raw.githubusercontent.com/pthom/northwind_psql/master/northwind.sql

belirtilen verileri attım. Burada boş bir tane daha product ekledim. :) 

Sonrasında aşağıdaki SQL çalıştırdım.

teksatır eklediğim yeni ürün geldi. Diğer veriler boş idi. Ancak SUM() T-SQL de patlayabilir. Oraya IFNULL benzeri bir şey ekleyebilirsin.

```

SELECT P.ProductName,R.RegionDescription,SUM(OD.Quantity) Adet FROM Products P
LEFT JOIN Order_Details OD ON P.ProductID=OD.ProductID
LEFT JOIN Orders O ON OD.OrderID=O.OrderID
LEFT JOIN Employees E ON O.EmployeeID=E.EmployeeID
LEFT JOIN EmployeeTerritories ET ON E.EmployeeID=ET.EmployeeID
LEFT JOIN Territories T ON ET.TerritoryID=T.TerritoryID
LEFT JOIN Region R ON T.RegionID=R.RegionID
WHERE OD.ProductID IS NULL -- Burayı kaldıracaksın sonradan.
GROUP BY P.ProductName,R.RegionDescription
ORDER BY Adet ASC, P.ProductName,R.RegionDescription;

```

İlgili sorular

0 oy
1 cevap
0 oy
1 cevap
MySQL kategorisinde Cem Yapıcı sordu
0 oy
1 cevap
Hoş geldiniz, DB Uzman sitesi sizlere tüm database sistemleri ile ilgili soru sorabilme ve diğer üyelerimiz tarafından cevaplanabilmesi için interaktif bir ortam sağlamaktadır.

Sorulara destek olan tüm database uzmanlarımıza teşekkür ederiz.
...