пропадает временная таблица с клиентом Win98

RuslanVIC
Дата: 11.01.2001 09:47:54
Уважаемые господа!

Проблема следующая.
Есть таблица с записями о времени(DATETIME) и доительности(INT) телефонных соединений.
Задача : построить отчет о сумме длительностей соединеий за каждый час в заданном интервале.
Я эту задачу решил двумя запросами.
Первый:
select dateadd(mi,-datepart(mi,a.start_time),
dateadd(ss,-datepart(ss,a.start_time),
dateadd(ms,-datepart(ms,a.start_time),a.start_time))) time_hour,a.duration
into #short_bill
from gmc.bill a
where a.start_time>=:dt1 and a.start_time<=:dt2 and duration >0;

формируем временную таблицу с полями: time_hour - в котором от времени оставлена дата и час соединения и duration- длительность.

Вторым запросом формируем требуемые для отчета данные:
select time_hour,sum(duration),count(*)
from #short_bill
group by time_hour
order by time_hour;

Клиентская программа написана на Builder C++ 3.0. Используется BDE/ODBC .И все замечательно работает на Win95/NT4.0
Но под Win98 появляется ошибка при выполнении второго запроса. Сообщение гласит о том, что временная таблица не существует.
Все чем отличаются клиенты Win95/NT и Win98 - это версией ODBC драйвера SQLServer.

Как заставить работать клиента под Win98?
SergSuper
Дата: 11.01.2001 12:42:29
Я подсказать не могу. Мне непонятно, почему нельзя написать:
select dateadd(mi,-datepart(mi,a.start_time),
dateadd(ss,-datepart(ss,a.start_time),
dateadd(ms,-datepart(ms,a.start_time),a.start_time))) time_hour,
sum(a.duration ), count(*)
from gmc.bill a
where a.start_time>=:dt1 and a.start_time<=:dt2 and duration >0
group by dateadd(mi,-datepart(mi,a.start_time),
dateadd(ss,-datepart(ss,a.start_time),
dateadd(ms,-datepart(ms,a.start_time),a.start_time)))
order by time_hour


И еще. Интересная характеристика телефонных соединений: ДОИТЕЛЬНОСТЬ. Чего только не узнаешь
RuslanVIC
Дата: 12.01.2001 01:14:39
ДОИТЕЛЬНОСТЬ - это длительность. Спасибо!