我有以下查询,它为我提供了给定标题的提供程序:
SELECT DISTINCT(provider) FROM
(SELECT title, provider FROM financials_raw
UNION
SELECT title, provider from sales_raw
) combined
WHERE title = 'Home'
但是,这也将返回 NULL 提供程序结果,我将如何排除所有空结果?
根据我上面的评论,以下查询将完成相同的任务,但效率更高(因为不需要的记录不会首先在UNION
操作中联接,然后再从物化表中过滤):
SELECT provider FROM financials_raw WHERE title = 'Home' AND provider IS NOT NULL
UNION
SELECT provider FROM sales_raw WHERE title = 'Home' AND provider IS NOT NULL
请注意,UNION
(没有ALL
限定)意味着DISTINCT
。