1

テーブル product からすべての値を取得する必要がありますが、他の 2 つのテーブル製品に存在する場合を除きます。このクエリは、2 つの EXCEPTS を使用して受け入れられますか? これは別の方法で行う必要があります。

CREATE table missing_values
AS
select post
from product
EXCEPT
select post
from product_table_a
EXCEPT
select post
from product_table_b
;
4

2 に答える 2

2

MatBailie が言うように、クエリを試して、必要な結果が得られるかどうかを確認する必要があります。

しかし、それがうまくいかない場合は、ダブルで解決できますnot exists

この意味p1は にも にもありませp2p3

SELECT post
FROM product p1
WHERE not exists (SELECT p2.post                       
                  FROM product_table_a p2
                  WHERE p1.post = p2.post)
AND   not exists (SELECT p3.post                       
                  FROM product_table_b p3
                  WHERE p1.post = p3.post)

また、これはおそらくより効率的な方法です

SELECT post
FROM product p1
left join product_table_a p2
   on p1.post = p2.post
left join product_table_b p3
   on p1.post = p3.post
WHERE p2.post is null
and   p3.post is null
于 2015-09-07T16:30:57.370 に答える