Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Помогите с выборкой
Форумы портала PHP.SU » » Работа с СУБД » Помогите с выборкой

Страниц (1): [1]
 

1. bestbios - 23 Сентября, 2014 - 14:36:51 - перейти к сообщению
Имеем 2 таблицы (main и second) по 2 колонки:
main table
id,ip
second table
id,ips
`id` REFERENCES main(id)

Нужно по значению ip в main получить его id и сделать выборку из ips по этому id из второй таблицы. (Нужно по ip из main table выбрать все ips из second table.)
2. RickMan - 23 Сентября, 2014 - 14:47:31 - перейти к сообщению
А пример данных которые там хранятся можно предоставить. А то не очень понятно как по 1 ip можно выбрать много ip.
3. Мелкий - 23 Сентября, 2014 - 14:49:18 - перейти к сообщению
CODE (SQL):
скопировать код в буфер обмена
  1. SELECT ips FROM main_table JOIN second_table USING(id) WHERE ip=?
4. bestbios - 23 Сентября, 2014 - 15:05:51 - перейти к сообщению
RickMan пишет:
А пример данных которые там хранятся можно предоставить. А то не очень понятно как по 1 ip можно выбрать много ip.


ip адреса там. id - ip. Идишники из второй таблицы ссылаются на id из первой. Те во втрой таблице они бмогут повторятся.

Мелкий вроде то, что нужно написал, только колонка ips находится в second_table

CODE (htmlphp):
скопировать код в буфер обмена
  1. SELECT ips FROM second_table JOIN main_table USING(id) WHERE ip=?


так?
5. Мелкий - 23 Сентября, 2014 - 15:12:36 - перейти к сообщению
bestbios пишет:
только колонка ips находится в second_table

Не имеет значения.
Это inner join, порядок объединения таблиц оптимизатор запроса переписывает по собственному усмотрению.

 

Powered by ExBB FM 1.0 RC1