LEFT JOIN с одинаковыми полями

179
13 марта 2019, 09:10

Есть таблица description:

id
title
text
text_ru

И таблица description_title:

id
text
text_ru

Нужно объединить данные этих таблиц по полю title -> id, сейчас написал такой запрос:

SELECT d.*, dt.* FROM description d LEFT JOIN description_title dt ON (d.title = dt.id) WHERE d.id = 1

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

P.S. Вариант с перечислением полей каждой таблицы и заданием префиксов не подойдет, т.к. в эти таблицы будут добавляться новые поля, например text_ua, мультиязычность. Т.е. нужно вернуть все поля первой таблицы и все поля второй таблицы.

P.S.S. Сейчас результат такой: id - title - text - text_ru - id - text - text_ru. А нужно получить что-то наподобии такого: table1_id - table1_title - table1_text - table1_text_ru - table2_id - table2_text - table2_text_ru.

READ ALSO
Что быстрее: данные из подзапроса или из LEFT JOIN

Что быстрее: данные из подзапроса или из LEFT JOIN

Реализую двухступенчатый поиск в большой БД на MySQL: сначала беглый по хэшу, затем детальный по всем полямКакой из следующих вариантов SQL-запроса...

156
Ограничить количество логов FIFO

Ограничить количество логов FIFO

У меня логи пишутся в базу (yii\log\DbTarget), это удобно, но со временем накапливаются тысячи старых логов которые вообщем-то уже не нужны и только...

156
Прижатый к низу footer [дубликат]

Прижатый к низу footer [дубликат]

На данный вопрос уже ответили:

156
Выравнивание элемента

Выравнивание элемента

Стоит задача: выровнять надпись в блоке не ровно по центру, например чтобы она отставала от левого края блока на 60%

163