私は学生で、これを完了するのに十分な時間を費やしています。誰かがこの質問を手伝ってくれませんか: 1 つのデータ セットのように、これまでに販売された製品の総数と販売されたことのない製品の総数を決定します。
Union 、 Intersection 、および Except は、Production.Product および sales.salesOrderDetail では使用できないと思います。
誰か助けてくれませんか
私は学生で、これを完了するのに十分な時間を費やしています。誰かがこの質問を手伝ってくれませんか: 1 つのデータ セットのように、これまでに販売された製品の総数と販売されたことのない製品の総数を決定します。
Union 、 Intersection 、および Except は、Production.Product および sales.salesOrderDetail では使用できないと思います。
誰か助けてくれませんか
質問を正しく理解していれば、これはうまくいくはずです
SELECT
SUM(CASE WHEN s.ProductId IS NULL THEN 1 ELSE 0 END) TotalProductsUnsold
, SUM(CASE WHEN s.ProductId IS NULL THEN 0 ELSE 1 END) TotalProductsSold
FROM Production.Product p
LEFT JOIN (
SELECT DISTINCT ProductId
FROM Sales.SalesOrderDetail
) s ON s.ProductId = p.ProductId
ユニオンを使用して、次のようなことができます。
SELECT
'Total Products Unsold'
, COUNT(ProductId) [Count]
FROM (
SELECT
ProductId
FROM Production.Product
EXCEPT
SELECT ProductId
FROM Sales.SalesOrderDetail
) Products
UNION ALL
SELECT
'Total Products Sold'
, COUNT(DISTINCT ProductId) [Count]
FROM Sales.SalesOrderDetail
使用できない/使用したくない場合COUNT(DISTINCT ...)
は、2 番目の結合された select ステートメントを次のように置き換えることができます。
SELECT
'Total Products Unsold'
, COUNT(ProductId) [Count]
FROM (
SELECT
ProductId
FROM Production.Product
INTERSECT
SELECT ProductId
FROM Sales.SalesOrderDetail
) Products