меня есть две таблицы t1 и t2 следующим образом
t1запросов в PostgreSQL
A B C D E
1 2 c d e
3 1 d e f
4 2 f g h
t2
A B
1 2
8 6
4 2
Здесь А, В, С, D, Е являются столбцы t1 и A, B являются столбцами t2, где A и B являются общими столбцами.
То, что я сделал до сих пор
Я написал следующий запрос
WITH temp as (
select *
from t2
)
select tab1.*
from t1 tab1, temp tab2
where (tab1.A!=tab2.A OR tab1.B!=tab2.B)
Я хотел этот выход
A B C D E
3 1 d e f
Но я получаю этот выход
A B C D E
1 2 c d e
1 2 c d e
3 1 d e f
3 1 d e f
3 1 d e f
4 2 f g h
4 2 f g h
Какой запрос следует использовать?
Она не возвращает никаких строк :(Есть у уверены, что запрос работает нормально Можно сказать, у? как этот запрос будет выполнен? – suraj
Паста выше - это фактический сеанс psql, поэтому он определенно работает для тестовых данных, которые вы предоставили. Левое внешнее соединение добавит NULL вместо реальных данных, если вторая таблица не содержит соответствующих строка (на основе условия 'ON (t1.a = t2.a и t1.b = t2.b)'). – mitchnull
Простите меня. ctually. Можно ли, пожалуйста, показать результат после левого внешнего соединения без ограничения «t2.a является нулевым»? Я пытаюсь понять запрос. – suraj