|
MySQL.RU - Webboard
Вернуться
select from select (generic) 11/07/2005 - 14:55:49
Re: select from select (Валентин) 11/07/2005 - 15:11:32
> Original message text:
> From: generic - 11/07/2005 - 14:55:49
> Subject:select from select
> -----------------
> Ребята, помогите решить проблему.
> Данный запрос легко выполняется на 4.1.7, но не работает на 4.0.*
> Подскажите как можно переписать данный запрос с учетом того, что запрос вложенный в секцию from у меня постоянный, а вот верхний select и нижний where часто изменяется в зависимости от действий пользователя.
>
> select group_id,
> trim(group_name) group_name,
> parent_id,
> root_id,
> lev
> from ( select 0 lev ,f.group_cod root_id ,f.group_id ,f.parent_id ,f.group_name
> ,CONCAT(f.group_cod,"-",f.group_id/10,"-0") sort_
> from mod_msg_spr_group f
> where f.parent_id is null
> union all
> select 1 lev ,f2.group_cod root_id ,f2.group_id ,f2.parent_id ,f2.group_name
> ,CONCAT(f2.group_cod,"-",f2.group_id/10,"-0") sort_
> from mod_msg_spr_group f, mod_msg_spr_group f2
> where f.parent_id is null and f2.parent_id=f.group_id
> union all
> select 2 lev ,f3.group_cod root_id ,f3.group_id ,f3.parent_id ,f3.group_name
> ,CONCAT(f3.group_cod,"-",f3.parent_id/10,"-",f3.group_id) sort_
> from mod_msg_spr_group f, mod_msg_spr_group f2, mod_msg_spr_group f3
> where f.parent_id is null and f2.parent_id=f.group_id and f3.parent_id=f2.group_id
> order by sort_ ) t
> where t.lev<2;
>
>
>
From: Валентин - 11/07/2005 - 15:11:32
Subject:select from select
-----------------
А если внешний where положить в каждый запрос?
примерно так
select 0 lev ,f.group_cod root_id ,f.group_id ,f.parent_id ,f.group_name
,CONCAT(f.group_cod,"-",f.group_id/10,"-0") sort_
from mod_msg_spr_group f
where f.parent_id is null and lev<2
union all
select 1 lev ,f2.group_cod root_id ,f2.group_id ,f2.parent_id ,f2.group_name
,CONCAT(f2.group_cod,"-",f2.group_id/10,"-0") sort_
from mod_msg_spr_group f, mod_msg_spr_group f2
where f.parent_id is null and f2.parent_id=f.group_id and lev<2
union all
select 2 lev ,f3.group_cod root_id ,f3.group_id ,f3.parent_id ,f3.group_name
,CONCAT(f3.group_cod,"-",f3.parent_id/10,"-",f3.group_id) sort_
from mod_msg_spr_group f, mod_msg_spr_group f2, mod_msg_spr_group f3
where f.parent_id is null and f2.parent_id=f.group_id and f3.parent_id=f2.group_id and lev<2
order by sort_
[Это сообщение - спам!]
Последние сообщения из форума
Уважаемые посетители форума MySQL.RU!
Убедительная просьба, прежде чем задавать свой вопрос в этом форуме, обратите внимание на разделы:
- ответы на наиболее часто задаваемые вопросы - FAQ
- раздел документация
- раздел поиск по сообщениям форума и документации
Также, старайтесь наиболее подробно указывать свою ситуацию (версию операционной системы, версию MySQL,
версию программного обеспечения, по которому возникает вопрос, текст возникающих ошибок, и др.)
Помните, чем конкретнее Вы опишете ситуацию, тем больше шансов получить реальную помощь.
22977
|
|