Доброго времени суток. Вот столкнулся с пока что необъяснимой проблемой. Из PHP вызываю хранимую процедуру в SQL2008 (SQL2000 такая же проблема, проверил), которая формирует и возвращает набор данных в PHP. Процедура данные возвращает правильно, но в PHP они не доходят.
Код процедуры:
| Код | Create table #TPRT (kodls int, namels varchar(50), optnppN int, optnppK int, pictnppn int, pictnppk int) Create table #TOPT (kodls int, namels varchar(50), kodopt int, nameopt varchar(30), znopt varchar(100), npp int identity(0,1)) insert into #TOPT (kodls, namels, kodopt, nameopt, znopt) select p.kodls, p.name, ISNULL(s.kod,0), so.name, isnull(s.txt100,'Пусто') from LST_PROD p with(index(PK_LST_PROD)) left join SSPRDATA s with(index(PK_SSPRDATA)) on p.KodLs=s.KodLs and s.KodSpr=17 and @Dw between s.Dwn and s.DwK left join SSPRDATA so with(index(IX_SSPRDATA)) on so.KodSpr=16 and so.Kod=ISNULL(s.K01,0) where p.KodProd=0 and @dw between p.DWN and p.DWK and p.LN03=1
insert into #TPRT (kodls, namels, optnppN, optnppK) select t.kodls, MAX(t.namels), MIN(t.npp), MAX(t.npp) from #TOPT t group by t.kodls
select * from #TPRT
|
Что характерно, если оставляю так то данные доходят:
| Код | Create table #TPRT (kodls int, namels varchar(50), optnppN int, optnppK int, pictnppn int, pictnppk int) Create table #TOPT (kodls int, namels varchar(50), kodopt int, nameopt varchar(30), znopt varchar(100), npp int identity(0,1)) insert into #TOPT (kodls, namels, kodopt, nameopt, znopt) select p.kodls, p.name, ISNULL(s.kod,0), so.name, isnull(s.txt100,'Пусто') from LST_PROD p with(index(PK_LST_PROD)) left join SSPRDATA s with(index(PK_SSPRDATA)) on p.KodLs=s.KodLs and s.KodSpr=17 and @Dw between s.Dwn and s.DwK left join SSPRDATA so with(index(IX_SSPRDATA)) on so.KodSpr=16 and so.Kod=ISNULL(s.K01,0) where p.KodProd=0 and @dw between p.DWN and p.DWK and p.LN03=1
select * from #TOPT
|
кто нибудь сталкивался ? почему так ? |