2009-06-16 21 views
3

私はそれぞれがproduct_typeと呼ばれる列を持つ2つの異なるテーブルを持っています。両方のテーブルでproduct_typeのDISTINCT値を取得するにはどうすればよいですか?明らかにするために、両方のテーブルのproduct_typeが「diamond」の場合は、一度返すだけです。基本的には、両方のテーブルが結合されていて、そこから別のproduct_typeを選択したかのように。MySQL:2つのテーブルからDistinctを選択しますか?

ありがとうございます! UNION句を使用すると、それはあなたがALL ...

select product_type from table_a 
union 
product_type from table_b 

答えて

10

が組合を含んでいるサブクエリで明確なを使用してUNIONを使用しなければならないすべての値を返すようにしたい場合は、フィールドの一意の値を返すこと

+0

ありがとう、1つの質問.. "t"は最後にあるはずですか?それはなんのためですか?ありがとう! –

+0

Tはサブクエリのエイリアスです。したがって、t.produc_typeと言うことができます。これは "Tというサブクエリからのproduct_typeフィールド"を意味します。 – albertein

+0

外部クエリが必要ですか?私は、UNIONが異なる行だけを返すと信じています。 (UNION ALLには外部クエリが必要です) –

1

注意

select distinct product_type from (
    select product_type from table 1 
    union 
    select procut_type from table 2 
) t 
0

利用はっきりと組合:

select distinct product_type from table1 
union 
select distinct product_type from table2 

組合が削除されますduplicat結果を結合するときに使用します。

関連する問題