我正在尝试加入两张桌子;产品和PSUB。
PRODUCT包含每行PRODUCT_ID的一行数据
PSUB为每个PRODUCT_ID交易包含多行数据,但PRODUCT_ID不是多值的。
以下是两个特定ID的两个表的输出。
我想加入表格,运行两份报告:
显示PRODUCT表中的PRODUCT_IDS,但不包括PSUB表中的那些。
显示PSUB表中的所有PRODUCT_ID,但不包括PRODUCT表中的那些。
以下是我尝试用来获取COUNT的内容,但查询基本上已锁定:
SELECT COUNT(*)FROM PRODUCT,PSUB WHERE PRODUCT.PRODUCT_ID<> PSUB.PRODUCT_ID;
以下是各个COUNT个查询。
提前感谢您的帮助!!
汤姆
答案 0 :(得分:0)
1)使用WHERE NOT EXISTS
的示例,也可以通过使用连接等来完成。
SELECT
p.product_id
FROM
product p
WHERE NOT EXISTS ( SELECT product_id FROM psub );
2)就像第一个例子一样,你只需要交换表格。
使用NOT IN
的其他解决方案:
SELECT
p.product_id
FROM
product p
WHERE p.product_id NOT IN ( SELECT product_id FROM psub );
另一个使用LEFT JOIN
SELECT
p.product_id
FROM
product p
LEFT JOIN psub b ON p.product_ID = b.product_id
WHERE
b.product_id IS NULL;