Сначала суть вопроса
есть две таблицы
Код: Выделить всё
tbl_1
id |data_1| data_2
1 | 1 | 3
2 | 2 | 4и
Код: Выделить всё
tbl_2
id |data_1 | data_3
1 | 2 | 3
2 | 3 | 6хотелось бы на базе этих двух таблиц получить следующее
Код: Выделить всё
data_1 | data_2| data_3
1 | 3 | NULL
2 | 4 | 3
3 | NULL | 6используя full outer join, (его эмуляция)
такого вида
Код: Выделить всё
select a.*, o.* from mutex
left outer join `tbl_1` as a on i = 0
left outer join `tbl_2` as o on i = 1 or a.data_1 = o.data_1
left outer join `tbl_1` as a2 on i = 1 and a2.data_1 = o.data_1
where o.data_1 is null or a2.data_1 is nullгде таблица mutex это:
Код: Выделить всё
create table mutex(
i int not null primary key
);
insert into mutex(i) values (0), (1);
mutex
i
0
1источник: http://www.xaprb.com/blog/2006/05/26/how-t...-join-in-mysql/
можно получить таблицу вида
Код: Выделить всё
data_1| data_2 |data_1|data_3
1 | 3 | NULL | NULL
2 | 4 | 2 | 3
NULL | NULL | 3 | 6собственно вопрос:
возможно ли такое проделать? т.е. сделать стольбец data_1 общим для обеих таблиц