|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
20.09.2013, 12:44 | #1 |
Форумчанин
Регистрация: 03.12.2010
Сообщений: 334
|
SQL-запрос, три одинаковые таблицы
Есть три таблицы, с абсолютно одинаковой структурой, но данными на разных языках. При выполнении запроса:
Код:
Код:
Как проще всего изменить запрос, чтоб на выходе получить результат из всех трех таблиц? Будет идеально, если удастся получить что-то вроде: Код:
|
20.09.2013, 13:24 | #2 | |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
Цитата:
Код:
|
|
20.09.2013, 14:14 | #3 |
Форумчанин
Регистрация: 03.12.2010
Сообщений: 334
|
Serge_Bliznykov, в каждой таблице около 20-30 полей, то есть для трех таблиц надо описать 60-90 полей - это как минимум некрасиво будет выглядеть в запросе...
Дело в том, что сам запрос я формирую динамически, то есть когда надо будет добавить еще французский язык, мне достаточно добавить запись о французском языке в конфигурацию и скопировать структуру таблицы из любой info в info_fr, а дальше переводчик будет сидеть все заполнять. Для того, чтоб добавить перечисление, мне нужно дополнительно создавать список полей в таблице... если через год-два надо будет добавить новое поле, то вместо того, чтоб просто добавить его в таблице и объявить в представлении, я буду сидеть вспоминать где я его еще прописывал в контроллере или конфигурации - это лишняя работа. Могу конечно получать список полей из information_schema, но лишний запрос ради моего личного удобства в данном случае неоправдан. Если никто не предложит решение на основе грамотного и красивого запроса, я лучше в каждой таблице поля переименую на text_ru, text_en, text_de и схема останется простой и прозрачной. |
20.09.2013, 18:43 | #4 |
Antimoderаtoris
Участник клуба
Регистрация: 08.02.2008
Сообщений: 1,251
|
Mortimoro
Это задача серверного языка программирования, а не SQL. У меня, например, есть таблица с текстами и переводами, а вместо полей для текста указан id. ActiveRecord модель расширена до MultilingualAcriveRecord, где автоматом достаются поля с текстом на нужном языке. Делается это через JOIN-ы Таблица translations Код:
Код:
Получается запрос Код:
98% из тысячи моих постов сделаны в профильном подфоруме. Я не накручиваю свои посты болтанием в "курилке", а ты?
|
20.09.2013, 19:11 | #5 |
Форумчанин
Регистрация: 03.12.2010
Сообщений: 334
|
Johnatan, а вот это уже действительно интересно. Спасибо.
|
20.09.2013, 23:39 | #6 |
Старожил
Регистрация: 25.02.2007
Сообщений: 4,160
|
как вариант - тупо все поля
Код:
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Найти степень числа N, у которой три последние цифры одинаковые. | Vika_0_0 | Паскаль, Turbo Pascal, PascalABC.NET | 7 | 11.03.2012 10:24 |
Sql запрос. Из одной таблицы два раза | templton | SQL, базы данных | 2 | 20.04.2011 17:47 |
Удаление данных из таблицы через SQL запрос | Kity19 | БД в Delphi | 2 | 19.01.2011 23:35 |
SQL-запрос (связанные таблицы) | astra-48 | БД в Delphi | 3 | 03.03.2010 01:44 |
SQL запрос сразу по двум столбцам одной таблицы | Иван | БД в Delphi | 6 | 03.01.2008 14:36 |