Показать сообщение отдельно
Старый 16.09.2003, 11:27   #2  
Vadik is offline
Vadik
Модератор
Аватар для Vadik
Лучший по профессии 2017
Лучший по профессии 2015
 
3,631 / 1849 (69) ++++++++
Регистрация: 18.11.2002
Адрес: гражданин Москвы
Стандартный баг. Надо вставить в начало процедуры SET NOCOUNT ON

alter PROCEDURE sp_BSL_Account20
@dataAreaId varchar(255), -- Компания для расчета
@fromDateVarchar varchar(255), -- Дата начала (строка) периода расчета
@toDateVarchar varchar(255) -- Дата конца (строка) периода расчета

AS

set nocount on
set ansi_warnings off

IF EXISTS (SELECT name FROM sysobjects WHERE name = 'BSL_Account20')
DROP TABLE BSL_Account20;

Зачем подзапрос SELECT MAX()? GROUP BY чем не устраивает?
Зачем даты передавать строкой? Да еще такой - '01/02/2003'? Объявите их как datetime, не мучайте оптимизатор, передавайте их как '20030201', '20030202', и будет всем щастье. По крайней мере, у меня после этих исправлений запрос работает