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

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Помогите с запросом, с ног уже сбился

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


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

> Без описания
lamokk
Отправлено: 05 Декабря, 2017 - 16:29:54
Post Id


Новичок


Покинул форум
Сообщений всего: 46
Дата рег-ции: Апр. 2013  


Помог: 0 раз(а)




Добрый день.
Есть таблица category у нее есть поля
id, name, parent_id, url

Вот идет у меня запрос и нужно найти все под категории к запрошенной категории но при этом мне нужны все данные по самой категории (поля name и url родителя)

Вот так выбираются все под категории, как добавить данные родительской категории (поля name и url родителя)?
CODE (SQL):
скопировать код в буфер обмена
  1. SELECT * FROM category WHERE category.parent_id=(SELECT id  FROM category WHERE url="'.$parent_url.'")

Подскажите пожалуйста.

(Отредактировано автором: 05 Декабря, 2017 - 16:40:36)

 
 Top
zypikov
Отправлено: 05 Декабря, 2017 - 19:29:19
Post Id



Частый гость


Покинул форум
Сообщений всего: 219
Дата рег-ции: Нояб. 2010  


Помог: 3 раз(а)




Разве это просто не:

CODE (SQL):
скопировать код в буфер обмена
  1.  
  2. SELECT category.name, category.url  
  3. FROM category WHERE category.parent_id=(SELECT id  FROM category WHERE url="'.$parent_url.'")
  4.  
  5.  


-----
У всего есть обратная сторона.
 
 Top
lamokk
Отправлено: 05 Декабря, 2017 - 20:49:18
Post Id


Новичок


Покинул форум
Сообщений всего: 46
Дата рег-ции: Апр. 2013  


Помог: 0 раз(а)




Нет.
Попробую прояснить, во записи таблицы
id, name, parent_id, url
1 php 0 php
2 wordpress 1 wordpress


CODE (SQL):
скопировать код в буфер обмена
  1. SELECT * FROM category WHERE category.parent_id=(SELECT id  FROM category WHERE url="php")

выведет запись с ид=2, но мне нужно чтобы запрос выдал и все данные с ид=1
Пример вывода:
id=1 name=wordpress parent_id=1 url=wordpress parent_name=php parent_url=php
соответственно parent_name и parent_url получить через переименование полей
 
 Top
zypikov
Отправлено: 06 Декабря, 2017 - 17:01:30
Post Id



Частый гость


Покинул форум
Сообщений всего: 219
Дата рег-ции: Нояб. 2010  


Помог: 3 раз(а)




lamokk пишет:
id=1 name=wordpress parent_id=1 url=wordpress parent_name=php parent_url=php
. Тут, наверное id = 2..
Задачу нужно решить исключительно одним sql-запросом?


-----
У всего есть обратная сторона.
 
 Top
lamokk
Отправлено: 12 Декабря, 2017 - 07:47:04
Post Id


Новичок


Покинул форум
Сообщений всего: 46
Дата рег-ции: Апр. 2013  


Помог: 0 раз(а)




zypikov пишет:
lamokk пишет:
id=1 name=wordpress parent_id=1 url=wordpress parent_name=php parent_url=php
. Тут, наверное id = 2..
Задачу нужно решить исключительно одним sql-запросом?


Да исключительно одним запросом!
т.е. мы запрашиваем url wordpress, а в ответе получить одну строку с присоедененными данными первой строки в таблице (т.е. родителя).
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Работа с СУБД »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB