Противоположность объединения в SQL с выбором 2 столбцов? - PullRequest
0 голосов
/ 02 июля 2018

У меня есть две таблицы A и B, в которых я хотел бы выбрать данные, в которых обе таблицы являются общими в столбце (user_id) и не похожи в другом столбце (A.columnX != B.columnY).

На самом деле, я хотел бы, чтобы соединения SQL были противоположны. Кто-нибудь может мне помочь?

Ответы [ 3 ]

0 голосов
/ 02 июля 2018

Если вы хотите отфильтровать объединение на основе дальнейшей логики, просто используйте предложение WHERE:

SELECT
    table_a.something,
    table_a.something_else,
    table_b.another_thing
FROM table_a
INNER JOIN table_b
    ON table_b.user_id = table_a.user_id
WHERE
    table_a.column_x != table_b.column_y;
0 голосов
/ 02 июля 2018

Когда вы описываете вопрос, вы, кажется, хотите NOT EXISTS:

SELECT a.something, a.something_else,
       b.another_thing
FROM table_a a INNER JOIN
     table_b b
     ON b.user_id = a.user_id
WHERE NOT EXISTS (SELECT 1
                  FROM table_b b2
                  WHERE b2.user_id = b.user_id and
                        b2.column_y = a.column_x
                 );

Неясно, хотите ли вы сравнить user_id в предложении корреляции.

0 голосов
/ 02 июля 2018

Вы можете предоставить запрос на присоединение как:

select <<Column list>> from table1 a, table2 b where a.userid=b.userid and a.columnX!=b.columnY;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...