退货没有月销售的产品

时间:2013-05-31 14:00:42

标签: sql tsql

如何退回2004年7月我没有销售的记录?

用户将在2004年7月提供日期,然后我需要查看没有销售的产品。

SELECT 

 DP.ProductID
,DP.Name
,FS.OrderDate
,FS.OrderQty
,FS.OrderAmount

FROM dbo.DimProduct AS DP

LEFT JOIN dbo.FactSales as FS on FS.ProductID = DP.ProductID

3 个答案:

答案 0 :(得分:1)

SELECT  DP.*
FROM    dbo.DimProduct AS DP
        LEFT JOIN dbo.FactSales as FS 
            ON  FS.ProductID = DP.ProductID AND
                DATENAME(month, FS.OrderDate) = 'July' AND
                YEAR(FS.OrderDate) = 2004
WHERE   FS.ProductID IS NULL

答案 1 :(得分:0)

也许这可以解决您的问题:

SELECT 

 DP.ProductID
,DP.Name
,FS.OrderDate
,FS.OrderQty
,FS.OrderAmount

FROM dbo.DimProduct AS DP
LEFT JOIN dbo.FactSales as FS on FS.ProductID = DP.ProductID 

WHERE FS.OrderAmount == 0

答案 2 :(得分:0)

SELECT  DP.*
FROM    dbo.DimProduct AS DP
WHERE   NOT EXISTS ( SELECT 1
                     FROM   dbo.FactSales AS FS
                     WHERE  FS.ProductID = DP.ProductID
                            AND DATENAME(month, FS.OrderDate) = 'July'
                            AND YEAR(FS.OrderDate) = 2004 )
相关问题