對於這2個表:對於這兩個表:Product(產品ID,產品名稱),銷售(的SalesOrderID,產品ID,SaleDate) -
產品(產品ID,產品名稱)
銷售(的SalesOrderID,產品ID ,SaleDate)
獲取通過出售去年的產品列表。獲取清單
去年沒有銷售的產品。
對於這2個表:對於這兩個表:Product(產品ID,產品名稱),銷售(的SalesOrderID,產品ID,SaleDate) -
產品(產品ID,產品名稱)
銷售(的SalesOrderID,產品ID ,SaleDate)
獲取通過出售去年的產品列表。獲取清單
去年沒有銷售的產品。
select Product.ProductName from Product inner join Sales on Product.ProductID = Sales.ProductID where year(Sales.SaleDate) = year(getdate())-1
去年
select Product.ProductName from Product where ProductID not in (select ProductID in Sales where year(Sales.SaleDate) = year(getdate())-1)
downvote的任何解釋?請:/ –
最後意味着上一次不是以前。你有一些語法錯誤。 –
去年是不是去年? –
這裏沒有賣最好的解決方案,能夠SARG
:
select distinct p.ProductID, p.ProductName
from Product p
join Sales s on p.ProductID = s.ProductID
where s.SaleDate >= cast (cast(year(getdate()) as varchar(8)) + '0101' as date)
和:
select distinct p.ProductID, p.ProductName
from Product p
left join Sales s on p.ProductID = s.ProductID
and s.SaleDate >= cast (cast(year(getdate()) as varchar(8)) + '0101' as date)
where s.ProductID is null
's.SaleDate> = cast'不會去年搜索去年的搜索嗎? –
@AnikIslamAbhi,你會得到s.SaleDate> ='20150101'。 「last」中有其他意思嗎? –
但是,如果我在16/08/2014,12/01/2013,10/06/2012有數據,那麼先生,那麼您的查詢將返回術語'去年銷售的產品' –
你能告訴我們你取得了什麼嗎? –
至少嘗試做一些事情,如果你遇到任何麻煩,那麼我們可以幫助你。 – Wanderer
有人對這個問題進行了投票。真的,它值得加票嗎? – Wanderer