Реклама на сайте Advertise with us
Тема: Php: mysql: выборка в 1 таблице по значению поля таблицы 2 Расширенный поиск по форуму
 
Внимание! В связи с устареванием топика эта страница была взята из кэша.
Автор Сообщение
Информация о пользователе Sterx +


Зарегистрирован: 08.12.02
Сообщения: 2665
Ссылка на сообщениеДобавлено: 19/10/04 в 20:24     

имеем:
запрос к таблице 1 - в которой 2 поле - значение поля 1 в таблице 2.
в цикле обрабатывается выборка из 1 таблицы
вопрос: как по общему полю извлечь значения из таблицы2?
в теле цикла мутить запрос номер 2 к БД или в первом запросе юзать какую то объединяющую конструкцию.
как правильно?
если непонятно объяснил - приведу код

K началу

 
Информация о пользователе ghood


Зарегистрирован: 16.06.04
Сообщения: 183
Ссылка на сообщениеДобавлено: 19/10/04 в 20:46     

Код:

SELECT .... FROM table1 JOIN table2 ON (field2.table1 = field1.table2);

Пока (сообщения /рейтинг) < (1/2) буду по-хамски выпрашивать рейтинг icon_smile.gif

K началу

 
Информация о пользователе Sterx +


Зарегистрирован: 08.12.02
Сообщения: 2665
Ссылка на сообщениеДобавлено: 19/10/04 в 21:15     

так так давайте в подробностях:
существующая конструкция

Код:
  $sql_query = "select * from $linx_table where ".$sql." order by site_id limit $offset, $no_search_results";

$linx_table - отсюда берется site_category которая в
$categorys_table является category_id (site_category = category_id )
из $categorys_table надо выдирать
cat_descrip
cat_name

K началу

 
Информация о пользователе Sterx +


Зарегистрирован: 08.12.02
Сообщения: 2665
Ссылка на сообщениеДобавлено: 19/10/04 в 21:38     

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

K началу

 
Информация о пользователе ghood


Зарегистрирован: 16.06.04
Сообщения: 183
Ссылка на сообщениеДобавлено: 19/10/04 в 23:26     

В общем чтобы было яснее как это работает:

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

Дополнительное условие WHERE $sql тут абсолютно не помеха.

То есть у тебя будет что-то вроде такого:

Код:

  $sql_query = "select [тут вместо * я бы настоятельно рекоммендовал бы перечислить поля] from $linx_table JOIN $categorys_table ON ($linx_table.site_category=$categorys_table.category_id) where ".$sql." order by site_id limit $offset, $no_search_results";

K началу

 
Информация о пользователе Sterx +


Зарегистрирован: 08.12.02
Сообщения: 2665
Ссылка на сообщениеДобавлено: 26/10/04 в 19:55     

ghood:
наконец дошли руки продолжить icon_smile.gif
твой пример не работает - вообще никакой выборки не дает
проверял и так

Код:

$sql_query = "select $linx_table.site_category, $categorys_table.category_id from $linx_table JOIN $categorys_table ON ($linx_table.site_category=$categorys_table.category_id) where ".$sql." order by site_id limit $offset, $no_search_results";

и с перечислением всех полей по порядку - имеет ли это значение?
и "*" ставил вместо полей - 0 результатов - может связано с тем, что перед этой выборкой есть еще выборки?
мой попытк
Код:

$sql_query = "select * from $linx_table, $categorys_table where ".$sql." and ($linx_table.site_category=$categorys_table.category_id) order by $linx_table.site_id limit $offset, $no_search_results";

выборка
дает правильное поле $categorys_table.category_descrip
и все остальные поля из таблицы $linx_table одинаковые
если поменять оператор "and" на "or" картина меняется наоборот...
где копать? icon_smile.gif

K началу

 
Информация о пользователе Sterx +


Зарегистрирован: 08.12.02
Сообщения: 2665
Ссылка на сообщениеДобавлено: 26/10/04 в 22:00     

все как всегда банально...
всего навсего перед JOIN надо было поставить LEFT...
всем спасибо, все свободны...

K началу

 
Текстовая реклама в форме ответа
Заголовок и до четырех строчек текста
Длина текста до 350 символов
Купить рекламу в этом месте!
Внимание! В связи с устареванием топика эта страница была взята из кэша.

Спонсор раздела Стань спонсором этого раздела!

Реклама на сайте Advertise with us

Опросы

Рецепт новогоднего блюда 2022



Обсудите на форуме обсудить (11)
все опросы »