![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Вложенный запрос к представлению [D6, MSSQL]
msguns © (2005-07-27 19:31:00)Вот это запрос :
select sum(a.stizm)
from
(
select * from vw_select_dgvfakt_all df
where df.ptdtprt=
(
select max(ptdtprt) from vw_select_dgvfakt_all
where DGID=22 and DGFID=df.dgfid
)
) a
вызывет ошибку Server internal error.
vw_select_dgvfakt_all вполне корректная вьюха.
Где кривизна ?
evvcom (2005-08-26 09:37:00) [1]
> where DGID=22
Да...
msgun (2005-08-25 15:02:00) [2]select sum(a.stizm)
from
(
select * from vw_select_dgvfakt_all df
where df.ptdtprt=
(
select max(ptdtprt) from vw_select_dgvfakt_all
where DGID=22 and DGFID=df.dgfid
)
) a
msguns (2005-07-28 09:47:00) [3]Вместо * перечислил поля и все засвистело
Fay (2005-07-27 20:38:00) [4]2 msguns © (27.07.05 20:24) [3]
ВаЩе я бы для ясности написал
select
sum(A.STIZM)
from (
select DF.*
from VW_SELECT_DGVFAKT_ALL DF join (
select
DGFID,
PTDTPRT = max(PTDTPRT)
from VW_SELECT_DGVFAKT_ALL
where DGID = 22
) Q on Q.DGFID = DF.DGFID and Q.PTDTPRT = DF.PTDTPRT
) A
Код VIEW в студию.
msguns (2005-07-27 20:24:00) [5]>DiamondShark © (27.07.05 20:09) [2]
Те же яйца ;((
DiamondShark (2005-07-27 20:09:00) [6]Брымц...
Я бы тоже таким запросом подавился.
Попробуй во внутреннем подзапросе указать алиас:
select sum(a.stizm)
from
(
select * from vw_select_dgvfakt_all df
where df.ptdtprt=
(
select max(ptdtprt) from vw_select_dgvfakt_all df1
where df1.DGID=22 and df1.DGFID=df.dgfid
)
) a
Fay (2005-07-27 19:39:00) [7]с AVG тоже глючит?