我想问题归结为:使用LEFT OUTER JOIN
不会按预期返回值的极端情况是什么?因为在结果集中我期望我加入的字段(item
和ID
)+行中不匹配的任何NULL值,但是item
和ID
没有出现。
的信息:
qry_HersheySAPMaxDate2
返回95行。
qry_HersheySAPMaxDate2
可能包含MaxOfMaxOfjob_Date
,SumOfSumOfqty_on_hand
,product_code
和whse
,的NULL值,而 {{1} }和ID
将始终具有值。
item
返回85行。
qry_HersheySAPMaxDate3
在任何字段中都没有任何NULL值,但排除了10 qry_HersheySAPMaxDate3
和id
行。
查询:
item
使用我的查询结果集+其中一个答案中的建议改为使用LEFT OUTER JOIN:
答案 0 :(得分:1)
您抱怨您的查询产生完全空行。让我们看看为什么:
你将qry3连接到qry2。这意味着当qry3中的qry2记录不匹配时,所有列设置为null的伪qry3记录将被连接。
在您的查询中,您只选择qry3中的字段,因此在外连接情况下,它们都是空的。选择qry2.ID和qry2.item而不是qry3.ID和qry3.item来查看不匹配的值:
SELECT
qry_HersheySAPMaxDate2.ID,
qry_HersheySAPMaxDate2.item,
答案 1 :(得分:0)
如果希望将NULL值包含在结果
中,则应使用LEFT OUTER JOIN