Хотелось бы с вами, уважаемые, обсудить один вопрос.
Имею vip-отчет.
Там есть
Код: Выделить всё
Create View vtSpBox As
Select KatMol.name, spbox.dopr, spbox.ATL_LASTTIME, spbox.csopr, spbox.kol, spbox.csporder, spbox.nrec, sklorder.cpodr, sporder.kol
from spbox, katbox, saldobox, sporder, sklorder, katmol
WHERE (( NrecKatBox==Katbox.nrec
and katBox.nrec==SaldoBox.cbox
and Katmcnrec==Saldobox.cmc
and Npodr==Saldobox.cpodr
and PartyNrec==Saldobox.cparty
and Saldobox.nrec==Spbox.csaldobox and (Spbox.vid=0)
and SpBox.csporder/==SpOrder.nrec
and Sporder.csklorder/==Sklorder.nrec
and Sklorder.cmol==Katmol.nrec))
order by spbox.dopr, spbox.ATL_LASTTIME;
Так вот, если убрать из запроса order by spbox.ATL_LASTTIME, оставив только упорядочение по spbox.dopr, то все работает, если два поля в order by, то БЕРЕТСЯ ОДНА И ТА ЖЕ ЗАПИСЬ ДЛЯ ВСЕХ МЦ и партий.
Очень интересно то, что если запрос скопировать в SQL суппорта, подставив конкретные значения переменных, то запрос работает совершенно верно!
Т.е.
Код: Выделить всё
Select KatMol.name, spbox.dopr, spbox.ATL_LASTTIME, spbox.csopr, spbox.kol, spbox.csporder, spbox.nrec, sklorder.cpodr, sporder.kol
from spbox, katbox, saldobox, sporder, sklorder, katmol
WHERE (( NrecKatBox==Katbox.nrec
and katBox.nrec==SaldoBox.cbox
and Katmcnrec==Saldobox.cmc
and Npodr==Saldobox.cpodr
and PartyNrec==Saldobox.cparty
and Saldobox.nrec==Spbox.csaldobox and (Spbox.vid=0)
and SpBox.csporder/==SpOrder.nrec
and Sporder.csklorder/==Sklorder.nrec
and Sklorder.cmol==Katmol.nrec))
order by spbox.dopr, spbox.ATL_LASTTIME;
Мне надо получить последнюю по времени запись сальдо по конкретной ячейке для конкретной МЦ и партии.
Почему запрос в отчете работает не так, как в суппорте и как победить сие?