[英]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 JOIN
的ON
子句中:
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.