Выбор значений из двух таблиц - PullRequest
1 голос
/ 20 октября 2011

У меня есть две таблицы, a и b.Обе таблицы содержат столбец config_data.a находится в одной базе данных, b - в другой.

Я хочу выбрать значения из a, которых нет в b, а также значения, которые равны в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

Ответы [ 2 ]

1 голос
/ 20 октября 2011

Что-то вроде следующего запроса:

(
    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 голосов
/ 20 октября 2011

Попробуйте (строки в a, которых нет в 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...