Я использую код:
create table table3 as
select a.*,b.*
from
table1 a
left join
table2 b
on a.id=b.id
where a.date>=b.date
and a.age<b.age
однако table1 имеет 20000 строк, а table3 - только 5000 строк. Кажется, что предложение where фильтрует все нулевые значения.
Когда яиспользуя код:
create table table4 as
select a.*,b.*
from
table1 a
left join
table2 b
on (a.id=b.id
and a.date>=b.date
and a.age<b.age)
Я бы получил сообщение об ошибке «левые и правые псевдонимы, встречающиеся в соединении», потому что я использовал неравенство в условиях соединения.
Итак, как я мог получить больше, чем20000 строк содержат нулевые значения с помощью левого соединения? Стоит ли объединяться несколько раз или можно использовать другой более эффективный способ?