WideWorldImporters 데이터베이스가 엉망입니다. Microsoft는 SQL을 배우는 사람들에게 (나는 직장에서 SQL을 자주 사용하므로 더 잘 이해하려고 노력합니다.일치하는 기준이 없어도 모든 행을 표시합니다.
나는 잘 정리했는데, 문제는 나열되어 있지 않은 여러 주들이 있고 나타나지 않는다는 것입니다. 목록에. 어떻게 그들을 보여주게하고 그들의 판매에 0을 가지고 있습니까? 내가 찾은 바에 따르면, 이것은 JOIN과 관련이 있지만, 다양한 유형으로 엉망이되어 버렸고 트릭을 수행하지 않는 것 같습니다. 보시다시피, 나는 또한 도움이되지 않은 사례를 시도했습니다. 모든 팁 크게 감사하겠습니다! 그 문제를 복잡하게하면 당신이 볼 수 있듯이
SELECT
StateProvinceName,
CASE WHEN SUM(Quantity * UnitPrice) IS NULL
THEN '0' ELSE SUM(Quantity * UnitPrice) * (AVG(TaxRate)/100 + 1) END AS Sales
FROM
Application.StateProvinces
FULL JOIN Application.Cities
ON Application.StateProvinces.StateProvinceID = Application.Cities.StateProvinceID
FULL JOIN Sales.Customers
ON Application.Cities.CityID = Sales.Customers.DeliveryCityID
FULL JOIN Sales.Orders
ON Sales.Customers.CustomerID = Sales.Orders.CustomerID
FULL JOIN Sales.OrderLines
ON Sales.Orders.OrderID = Sales.OrderLines.OrderID
WHERE OrderDate >= '2013-01-01'
AND OrderDate < '2014-01-01'
GROUP BY StateProvinceName
ORDER BY Sales DESC
, 판매 금액은 상태 이름에서 제거 많은 테이블이, 나도 몰라.
이 문제가 해결되었습니다. – user3066571