我有两个表,a
和b
。两个表都包含config_data
列。 a
位于一个数据库中,b
位于另一个数据库中。
我想从a
中选择不在b
中的值,以及b
中 但不的值 in 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
答案 0 :(得分: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
)
)
答案 1 :(得分: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