Всем привет!
Вот возникла необходимость реализовать PIVOT в 2000 SQL.
Почитал форум и решил использовать не классы на базе ИТЗ а ссылку из вот этого ответа:
http://www.1cpp.ru/forum/YaBB.pl?num=1162579818/14#14а точнее процедуру, описанную вот здесь:
http://weblogs.sqlteam.com/jeffs/archive/0001/01/01/4842.aspxИ вот возникло 2 вопроса:
1) При попытке выполнить описанную по ссылке хранимую процедуру выдается сообщение:
Связанная инструкция не подготовлена - как мне правильно в хранимую процедуру передать в качестве параметра результат моего Select-а?
2) В моем итоговом Select-e используется поле вида:
SUBSTRING(ВнЖурн.Date_Time_IdDoc,5,2)+'|'+ИтСпрСостав.НаименованиеГруппы
ругается на
|
- ну в принципе это можно обойти оберткой в еще один select.
Кому нужен для ответа текст запроса (много букв) - привожу:
Select
РегДвиж.sp2757 [Агент $Справочник.Агенты]
,РегДвиж.sp2758 [Клиент $Справочник]
,РегДвиж.sp2759 [ТерминалКлиента $Справочник.Терминалы]
,SUBSTRING(ВнЖурн.Date_Time_IdDoc,5,2)+'|'+ИтСпрСостав.НаименованиеГруппы as МесяцГруппа
,SUM(РегДвиж.sp2749) as Сумма
From ra2762 as РегДвиж
Inner Join
(
Select
_1sjourn.IDDOC as IDDOC
, _1sjourn.Date_Time_IdDoc as Date_Time_IdDoc
From _1sjourn
Where
(_1sjourn.Date_Time_IdDoc BETWEEN '20071201' AND '20071203Z')) as ВнЖурн
on ВнЖурн.IDDOC = РегДвиж.IDDOC
Inner Join
(
Select
СпрСостав.PARENTEXT as ГруппаНоменклатуры
,СпрСостав.sp3078 as НоменклатураСостава
,СпрГрупп.DESCR as НаименованиеГруппы
From sc3080
as СпрСостав
Inner Join
sc3077 as СпрГрупп
ON
(СпрСостав.PARENTEXT = СпрГрупп.ID) AND (СпрГрупп.ID IN (Select Val From #ГруппыТоваров))
) as ИтСпрСостав
ON
ИтСпрСостав.НоменклатураСостава = РегДвиж.sp2742
Where
(РегДвиж.sp2761 = ' S1 ')
Group by РегДвиж.sp2757, РегДвиж.sp2758, РегДвиж.sp2759, SUBSTRING(ВнЖурн.Date_Time_IdDoc,5,2)+'|'+ИтСпрСостав.НаименованиеГруппы