Переключение на Главную Страницу Страницы: 1 ОтправитьПечать
Обычная тема Связанная инструкция не подготовлена (число прочтений - 1435 )
leshik
1c++ donor
Отсутствует



Сообщений: 820
Местоположение: Пятигорск
Зарегистрирован: 22. Апреля 2007
Пол: Мужской
Связанная инструкция не подготовлена
08. Декабря 2007 :: 19:01
Печать  
Всем привет!
Вот возникла необходимость реализовать 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)+'|'+ИтСпрСостав.НаименованиеГруппы 

  
Наверх
IP записан
 
alexdd
Senior Member
****
Отсутствует


I Love YaBB 2!

Сообщений: 347
Зарегистрирован: 25. Июня 2007
Re: Связанная инструкция не подготовлена
Ответ #1 - 10. Декабря 2007 :: 11:57
Печать  
нужно еще кавычки написать, т.е.
Код
Выбрать все
''|'' 

вместо
Код
Выбрать все
'|' 



пс: и типизация не будет работать, если текст запроса в эту процедуру передавать.
  
Наверх
 
IP записан
 
leshik
1c++ donor
Отсутствует



Сообщений: 820
Местоположение: Пятигорск
Зарегистрирован: 22. Апреля 2007
Пол: Мужской
Re: Связанная инструкция не подготовлена
Ответ #2 - 10. Декабря 2007 :: 13:03
Печать  
спасибо за ответ.
про типизацию понятно - уберем...
наверное просто код хранимой процедуры приспособлю к этому же отчету...
  
Наверх
IP записан
 
Переключение на Главную Страницу Страницы: 1
ОтправитьПечать