UniVerse TCL行JOIN语法

时间:2015-07-06 15:47:33

标签: sql

我正在尝试加入两张桌子;产品和PSUB。

PRODUCT包含每行PRODUCT_ID的一行数据

PSUB为每个PRODUCT_ID交易包含多行数据,但PRODUCT_ID不是多值的。

以下是两个特定ID的两个表的输出。

enter image description here

我想加入表格,运行两份报告:

  1. 显示PRODUCT表中的PRODUCT_IDS,但不包括PSUB表中的那些。

  2. 显示PSUB表中的所有PRODUCT_ID,但不包括PRODUCT表中的那些。

  3. 以下是我尝试用来获取COUNT的内容,但查询基本上已锁定:

    SELECT COUNT(*)FROM PRODUCT,PSUB WHERE PRODUCT.PRODUCT_ID<> PSUB.PRODUCT_ID;

    以下是各个COUNT个查询。

    enter image description here

    提前感谢您的帮助!!

    汤姆

1 个答案:

答案 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;