我目前正在使用以下查询
SELECT SKU, Country FROM Products WHERE SKU NOT IN (SELECT SKU FROM ProductData)
只要在ProductData表中找不到SKU,这就会从我的“产品”表中返回SKU和“国家/地区”。
我接下来要努力实现的结果是相同的,但是在ProductData的一行中找不到SKU和Country。
在以下示例中,法国和德国的ProductData表中缺少MySKU1,但是由于存在MySKU1,因此我当前的查询将不返回它们。因此,我需要以某种方式添加第二个字段。
Products TABLE
--------------
MySKU1 UK
MySKU1 France
MySKU1 Germany
MySKU2 UK
MySKU2 France
MySKU2 Germany
ProductData TABLE
--------------
MySKU1 UK
MySKU2 UK
MySKU2 France
MySKU2 Germany
我相信我也可以通过联接来做到这一点,但我还不完全理解语法,因此不胜感激。
最佳答案
您可以将Country
列添加到IN
表达式中:
SELECT SKU, Country
FROM Products
WHERE (SKU, Country) NOT IN (SELECT SKU, Country FROM ProductData)
输出:
SKU Country
MySKU1 France
MySKU1 Germany
Demo on dbfiddle