SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 22.03.2009 23:41:51

gekakos
Участник
Зарегистрирован: 22.03.2009
Сообщений: 7

подскажите, как организовать выборку

дано: таблица content ( id, value_ru (text), value_en (text), value_... )
и таблица portfolio (id, title (int), text (int))
поля title (int) и text (int), где определены значения на разных языках
для конкретного запроса определена локаль. скажем, ru (русский язык)

нужно сформировать такой запрос (один!) из таблицы portfolio, чтобы вместо ссылок на content id, стояли значения (value_ru в случае с русской локалью)

Код:

id  value_ru  value_en
--------------------------
1  сайт         site
--------------------------
2  текст      text  


id  title    text
-----------------------
1   1        2


на выходе будет

id  title    text
-----------------------
1   сайт   текст

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

суть проблемы вроде объяснил.
задачу можно упростить
content (id, value(text))
portfolio (id, title (int), text (int))

Код:

id  value
------------
1  сайт      
------------
2  текст     


id  title    text
-----------------------
1   1        2


на выходе будет

id  title    text
-----------------------
1   сайт   текст

прошу помощи!

Отредактированно gekakos (22.03.2009 23:44:37)

Неактивен

 

#2 23.03.2009 12:15:10

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5842

Re: подскажите, как организовать выборку

select p.id, c.`value` title, c2.`value` `text` from portfolio p
join content c on title=c.id
join content c2 on `text`=c2.id;

Неактивен

 

#3 23.03.2009 12:41:06

gekakos
Участник
Зарегистрирован: 22.03.2009
Сообщений: 7

Re: подскажите, как организовать выборку

спасибо! идею понял, при увеличении количества переводимых полей, буду наращивать JOIN content c[n]
еще может кто прокомментирует по быстродействию такого подхода (учитывая то, что заведомо таких полей в таблице будет немного)

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson