2011-10-20 24 views
1

私は2つのテーブルabを持っています。どちらの表にもconfig_data列が含まれています。 aは1つのデータベースにあり、bは別のデータベースにあります。2つのテーブルから値を選択

私はbが、aではないですbにないaからの値だけでなく、値を選択します。

これは私の現在のクエリです:それは働いていません

SELECT b.dim2 
FROM sakthi_a1.`config_data` AS a 
JOIN sakthi_a2.`config_data` AS b 
    ON a.dim2<>b.dim2 
GROUP BY b.dim2 

。私はこの問題を解決するためのクエリが必要です。

上記のクエリを忘れてしまった。それは間違っている、私は知っている。

上記の条件に基づいてこれらのテーブルから値を選択する必要があります。出来ますか?

サンプル・データ

sakthi_a1.config_data 
id dim1 dim2     config_value 
1 site is_module_page   0 
2 site default_html_header_tpl html_headedr.tpl 
3 site facebook    test 


sakthi_a2.config_data 
id dim1 dim2     config_value 
1 site is_module_page   0 
2 site default_html_header_tpl html_headedr.tpl 
3 site error     Invalid page 
+3

を試してみてくださいI私はそれが動作していないことを見たたびに髪を失ったエラーメッセージ、どのようにそれの説明_ should_仕事、または間違った結果があれば、私は大げさになります。どこにでも。 – Bojangles

+1

@JamWaffles:私はどこでも恐れている:D –

答えて

1

次のクエリのようなものについてはどう:

(
    SELECT 
     a.* 
    FROM 
     a 
    WHERE NOT EXISTS(
     SELECT 
      * 
     FROM 
      b 
     WHERE 
      b.dim = a.dim 
    ) 
) 

UNION 

(
    SELECT 
     b.* 
    FROM 
     b 
    WHERE NOT EXISTS(
     SELECT 
      * 
     FROM 
      a 
     WHERE 
      a.dim = b.dim 
    ) 
) 
0

場合は、この(Bではないという点で行)

SELECT a.* 
FROM sakthi_a1.`config_data` AS a 
LEFT JOIN sakthi_a2.`config_data` AS b 
    ON a.id = b.id 
WHERE b.id IS NULL 
関連する問題