Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Выборка из 2-х связанных таблиц 
:(
    Опции темы
o.s.a.
Дата 27.3.2006, 10:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Xo4y B MocKBy
**


Профиль
Группа: Участник
Сообщений: 312
Регистрация: 16.2.2005
Где: Ташкент

Репутация: нет
Всего: 15



Имеем:

Код

1 таблица (table)
id    field
1    текст1
2    текст2

2 таблица (table_trans)
table_id  language      title
1              ru             книга
1              en            book
2              ru             ручка 
2              en            pen


Нужно составить запрос (желательно 1) для выборки из двух таблиц.
Теоретически нужно получить массив вида
Код

[0] =>
     [id] => 1
     [field]  => текст1
     [title] =>
          [ru] =>  книга
          [en] =>  book
[1] =>
     [id] => 2
     [field]  => текст2
     [title] =>
          [ru] =>  ручка
          [en] =>  pen


Это сообщение отредактировал(а) o.s.a. - 27.3.2006, 10:52


--------------------
Не могу стоять, пока другие работают, пойду полежу.
PM MAIL ICQ   Вверх
awers
Дата 27.3.2006, 12:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник
Сообщений: 1465
Регистрация: 22.3.2006
Где: Россия, Таганрог

Репутация: нет
Всего: 31



что-то типа того:
Код

select 2table.lang,2table.title,2table.tbl_id from `2table` where `table_id` = (select `id` from `1table` where `text` = '$text' limit 1)

Вроде так. Код не проверял....

Совсем забыл. С версии MySQL 4.1 ...

Это сообщение отредактировал(а) awers - 27.3.2006, 14:31
PM MAIL WWW ICQ Skype   Вверх
o.s.a.
Дата 27.3.2006, 21:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Xo4y B MocKBy
**


Профиль
Группа: Участник
Сообщений: 312
Регистрация: 16.2.2005
Где: Ташкент

Репутация: нет
Всего: 15



awers
1) limit 1 значит, что будет выбрана лишь 1 строка в подзапросе,
а мне нужно получить все, удовлетворяющие условию where в подзапросе smile
2) Можно ли с помошью твоего одного запроса получить не только поля из таблицы 2table
Код

select 2table.lang,2table.title,2table.tbl_id from `2table`

но и все поля из таблицы 1table, для которых выполняется условие в подзапросе?




--------------------
Не могу стоять, пока другие работают, пойду полежу.
PM MAIL ICQ   Вверх
o.s.a.
Дата 30.3.2006, 19:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Xo4y B MocKBy
**


Профиль
Группа: Участник
Сообщений: 312
Регистрация: 16.2.2005
Где: Ташкент

Репутация: нет
Всего: 15



Сделал так:
Код

select table1.*, table2.* from table1, table2 where table1.id=table2.table_id and ...


Получился массив вида
Код

[0] =>
     [id] => 1
     [field]  => текст1
     [title] => книга
     [language] => ru
[1] =>
     [id] => 1
     [field]  => текст1
     [title] => book
     [language] => en
[2] =>
     [id] => 2
     [field]  => текст1
     [title] => ручка
     [language] => ru
[3] =>
     [id] => 2
     [field]  => текст1
     [title] => pen
     [language] => en


Дальше я уже преобразовал данный массив в тот вид, который мне и был нужен


--------------------
Не могу стоять, пока другие работают, пойду полежу.
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Базы Данных | Следующая тема »


 




[ Время генерации скрипта: 0.0608 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.