Я пытаюсь написать хранимую процедуру для Crystal Reports, объединив несколько запросов в один набор результатов (Crystal не поддерживает несколько результатов в одном отчете).
Набор результатов, который я пытаюсь получить, объединяет столбцы из обеих таблиц.
В SP я объявляю @temptable и столбцы (поскольку две запрашиваемые мной таблицы имеют разные столбцы).
DECLARE @TEMPNEWBILLING TABLE
(
ACCOUNT DECIMAL null,
CLIENT NVARCHAR null,
TIMESTAMP INT null,
BILLING DECIMAL null,
CALLKIND INT null,
HITK1 DECIMAL null,
HITK2 DECIMAL null,
HIDISC DECIMAL null,
HITALK DECIMAL null,
HIPTCH DECIMAL null,
HICONF DECIMAL null,
HIHOLD DECIMAL null,
PTCH DECIMAL null,
SUPERTIME DECIMAL null
)
Затем я SELECT
из обеих таблиц INTO
временную таблицу:
SELECT Account, Client, Timestamp, Billing, CallKind, HiTk1, HiTk2, HiDisc, HiTalk, HiPtch, HiConf, HiHold, Ptch
INTO TEMPNEWBILLING
FROM
mCallEnd
WHERE billing = cast(@BILLINGNUMBER as decimal)
AND Timestamp > @STARTITIME
AND Timestamp < @ENDITIME
AND CallKind in (0,1,2,3,4,16)
SELECT
Billing, SuperTime
INTO TEMPNEWBILLING
FROM
mClientMaint
WHERE billing = cast(@BILLINGNUMBER as decimal)
AND Timestamp > @STARTITIME
AND Timestamp < @ENDITIME
И, наконец, я просто получаю все данные из временной таблицы.
SELECT * FROM @TEMPNEWBILLING
К сожалению, что-то происходит неправильно, так как когда я запускаю SP, я получаю сообщение об ошибке
В базе данных уже есть объект с именем TEMPNEWBILLING.
Я проверил его, и кажется, что первый запрос выполняется, но ошибка возникает при втором выборе Select Into. Я, должно быть, делаю это неправильно, так как получаю ту же ошибку, если использую # таблицы или @ таблицы (т.е. устранение таблицы и создание таблицы).
Неужели просто невозможно заполнить временную таблицу результатами двух запросов? Я использую неправильный инструмент для работы?