Объеденение результатов выборки 2-х таблиц

GrayMaster

Новичок
Объеденение результатов выборки 2-х таблиц

Добрый день!
Не могу допереть как составить такой запрос:

Есть 2 таблицы, со структурой:
  • * date
    * param
Нужно получить таблицу, объеденяющую в себе 2 эти таблицы по полу "date", со структурой:
  • * date
    * table1_param
    * table2_param
Причем даты могут быть разные в таблицах. Могут быть одинаковые, могут нет.

Пример:

table1:
date|param
2007-05-04|1
2007-05-06|1

table2:
date|param
2007-05-04|1
2007-05-05|1

result:
date|table1_param|table2_param
2007-05-04|1|1
2007-05-05|NULL|1
2007-05-06|1|NULL

PS. в приведенном примере убраны всякие группировки таблиц и т.п.
Мои идеи по поводу объединения пока только такие - выбрать уникальные даты с 2-х таблиц, и к ним уже 2-я JOIN'ами клеить данные с 2-х таблиц. Ещё варианты есть ?

Спасибо.
 

alpine

Новичок
Попробуй так:
[sql]
SELECT * FROM (
(
SELECT `date`, param as param1, NULL as param2 FROM t1
) UNION ALL (
SELECT `date`, NULL,param FROM t2
)
) as tmp
GROUP BY `date`
[/sql]
 

GrayMaster

Новичок
2alpine:
При группировке если поле NULL, оно им и остается... Т.е. не получается добиться результата где 2 параметра не NULL

-~{}~ 04.04.07 19:49:

Данные после объединения:
2007-04-04 99.6 NULL
2007-04-04 NULL 3.86

Группирую по дате, получаю:
2007-04-04 99.6 NULL
 

GrayMaster

Новичок
А тереь то что нужно :) Спасибо огромное !!
Вроде всё так просто... :-p
 
Сверху