Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > Возможно ли вывести упорядоченный список


Автор: Slauta 29.12.2010, 01:03
Возможно ли вывести упорядоченный список из 2х разных таблиц MySQL?

Вот к примеру есть 2 таблицы:

1 таблица
id | message | date
---------------------------------------------
1  | kkk        | 2010-12-28 22:47:14

2 таблица
id | message | date
----------------------------------------------
1  | hi            | 2010-12-28 22:45:15
3  | ooo         | 2010-12-28 22:48:15


Должно получится что-то вроде:
hi;
kkk;
ooo;

Это вообще реально сделать? 
Мне в голову пришло только одно решение, - не танцевать с бубном, а создать общую таблицу, где и сортировать по дате... Но ведь должно быть и другое решение...

Автор: skyboy 29.12.2010, 02:12
Код

(select id, message, date
from table1)
union all 
(select id, message, date
from table2)
order by 3

одинаковая структура и однотипная обработка навевает нехорошие мысли о том, что данные все же надо было закинуть в одну таблицу.

Автор: Slauta 29.12.2010, 09:20
Цитата(skyboy @  29.12.2010,  01:12 Найти цитируемый пост)
одинаковая структура и однотипная обработка навевает нехорошие мысли о том, что данные все же надо было закинуть в одну таблицу. 

Я думал об этом, но там такой функционал, реализация который можно только при помощи двух однотипных таблиц более уместна, быстра и логичнее, чем реализация с одной таблицай.


Хорошо. Мне нужно вывести сообщение на удаление, идентификатором удаления будет служить id, но вот загвоздка, я ведь не узнаю в какую таблицу оброщаться, а т.к. две таблицы с одинаковой структурой, то и id у них могут быть одинаковые.

Вот нашел еще одно решение при помощи JOIN:
Код

SELECT * FROM Table1
FULL OUTER JOIN Table2
ON Table1.name = Table2.name

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)