SQLinfo.ru - Все о MySQL

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

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

Вы не зашли.

#1 10.01.2011 15:07:03

soniclord
Завсегдатай
Зарегистрирован: 21.07.2010
Сообщений: 31

Возможен ли такой запрос или я усложняю жизнь?

Здравствуйте!
сижу тут в раздумьях.

имеется 2 таблицы:
1) questions

title | razdel_id
_____________
zag1|15
---------------
zag2|2

2) category

id      | name |parent_id
__________________
1      |razdel1      |0
--------------------
2      |razdel2     |0
--------------------
15    |podrazdel1 |1

нужно - вывести все записи из questions с названием подразделов, но и куда включен этот подраздел. Например: 

zag1 - podrazdel1 ->razdel1
zag2 - razdel 2

или лучше сделать это 2я запросами?

Неактивен

 

#2 10.01.2011 16:56:51

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6756

Re: Возможен ли такой запрос или я усложняю жизнь?

Я бы делал двумя запросами.

P.S. Пошаговые инструкции открываются очень медленно sad

Неактивен

 

#3 10.01.2011 17:33:45

soniclord
Завсегдатай
Зарегистрирован: 21.07.2010
Сообщений: 31

Re: Возможен ли такой запрос или я усложняю жизнь?

paulus написал:

Я бы делал двумя запросами.

а если учесть что ожидается ооочень большая посещалка?
Пошаговые инструкции открываются очень медленно только на главной странице - там 2000 запросов - давно делал, так руки и не дошли модернизировать :-(

Отредактированно soniclord (10.01.2011 17:34:04)

Неактивен

 

#4 11.01.2011 16:51:40

jmadhead
Участник
Зарегистрирован: 11.01.2011
Сообщений: 10

Re: Возможен ли такой запрос или я усложняю жизнь?

Может я не до конца понял суть вопроса....но что мешает сделать несколько join талицы category с самой собой?

Неактивен

 

#5 11.01.2011 23:15:44

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6756

Re: Возможен ли такой запрос или я усложняю жизнь?

Как правило, два простых запроса работают быстрее одного плохого wink

Неактивен

 

#6 01.02.2011 07:35:14

soniclord
Завсегдатай
Зарегистрирован: 21.07.2010
Сообщений: 31

Re: Возможен ли такой запрос или я усложняю жизнь?

Получается я должен сделать так:

select `questions`.`title`, `category`.`name`, `category`.`parent_id`
from `questions`,`category`
where
    `questions`.`razdel_id`='category'.'id' and
    `category`.`parent_id`='0'


- это выводит вопросы корневых разделов.
а как потом вывести подразделы? в цикле я должен проверять - если parent_id не равен 0, тогда делать запрос и считывать этот подраздел?

Неактивен

 

#7 01.02.2011 23:31:34

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6756

Re: Возможен ли такой запрос или я усложняю жизнь?

Например, так. Надо будет написать статью на эту тему, часто спрашивают sad

Неактивен

 

Board footer

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