@Tenebrius

Можно ли одним запросом SQL объединить разные таблицы?

Постараюсь объяснить попонятнее.
Есть Таблица_1, в ней столбцы id и текст.
Есть Таблица_2 в ней - id, текст1, текст2.

Есть Таблица_3 в ней дата, столбец с типом подключаемой таблицы (соответсвенно 1 или 2) и id строки из подключаемой таблицы.

В результате должна получиться таблица, в которой к Таблице_3 в зависимости от идентификатора подключается строка из Таблицы_1 или Таблицы_2. Что-то вроде:
дата | type | id | ...
27.12.2014 | 1 | 242342 | текст_из_таблицы_1
27.12.2014 | 2 | 346343 | текст1_из_таблицы_2 | текст2_из_таблицы_3

Как составить запрос, формирующий такую таблицу, и можно ли сделать такое в принципе, я не знаю.

Единственная идея это сначала запросить Таблицу_3, запомнить ее в мacсиве, потом аналогично создать массивы с двумя другими таблицами, и перебирать в цикле первую, подставляя подходящие значения из других таблиц. Но тут получается 3 запроса к БД и несколько вложенных циклов в php-скрипте. Возможно оно и не займет много времени, но решение мне не кажется красивым.

P.S. Цель - получить сведенную таблицу для использования в php-скрипте, а не чисто на SQL, если что.

Заранее спасибо всем отвечающим.
  • Вопрос задан
  • 2371 просмотр
Пригласить эксперта
Ответы на вопрос 1
FanatPHP
@FanatPHP
Чебуратор тега РНР
Можно.
Если структура БД отвечает реляционной модели.

Твоя структура - не не отвечает.

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

Войдите, чтобы написать ответ

Похожие вопросы