1

次のクエリがあります。これにより、特定のタイトルのプロバイダーが得られます。

SELECT DISTINCT(provider) FROM 
    (SELECT title, provider FROM financials_raw 
        UNION 
        SELECT title, provider from sales_raw
    ) combined 
        WHERE title = 'Home'

ただし、これはNULLプロバイダーの結果も返します。すべてのnull結果を除外するにはどうすればよいですか?

4

1 に答える 1

13

上記の私のコメントに加えて、次のクエリは同じことを実行しますが、より効率的です(望ましくないレコードは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

UNIONALL資格なしで)はを意味することに注意してくださいDISTINCT

于 2012-05-29T18:23:30.160 に答える