我有两个表,stock
并且location
,第三个表保留每个位置的库存水平,stock_loc_info
。
每个库存项目的每个位置都应该有一行。
什么 SQL 查询会显示 B1 行从中丢失stock_loc_info
?
stock.stockcode
---------------
A
B
location.locno
--------------
1
2
stock_loc_info.fkstockcode stock_loc_info.fklocno
-------------------------- ----------------------
A 1
A 2
B 2
您需要两个表中的所有组合,因此
CROSS JOIN
使用NOT EXISTS
or删除第三个表中的组合EXCEPT
: