簡體   English   中英

左連接同一個表,為空

[英]Left join same table with nulls

我目前正在開發我的第一個C#程序。 在后端,我使用MS SQL作為數據庫,我必須在其中創建要在程序中顯示的報告。

我有一張大桌子,上面有來自ERP系統的數據。 這張表是每月出售的所有物品。

現在,我創建了一個查詢,以比較不同年份的同一個月。

select  A1.ArticleID, A2.ArticleID
from Revenue A1
left join Revenue A2
on A1.Articlenr = A2.ArticleID
where A1.articleyear = 2017 and A2.articleyear=A1.articleyear-1 and A1.articlemonth = 1 and A2.articlemonth=A1.articlemonth
order by A1.ArticleID

通過此查詢,我只會收到兩年中出售的商品。 但是我沒有收到2017年出售但2016年沒有出售的文章。

如何強制查詢也查看這些文章?

第二個表上的所有條件都必須在LEFT JOINON子句中:

select A1.ArticleID, A2.ArticleID
from Revenue A1 left join
     Revenue A2
     on A1.Articlenr = A2.ArticleID and
        A2.articlemonth = A1.articlemonth and
         A2.articleyear = A1.articleyear-1
where A1.articleyear = 2017 and A1.articlemonth = 1 and 
order by A1.ArticleID

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM