Как правильно выбрать несколько раз SELECT INTO @TempTable для возврата одного набора результатов?

Я пытаюсь написать хранимую процедуру для 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. Я, должно быть, делаю это неправильно, так как получаю ту же ошибку, если использую # таблицы или @ таблицы (т.е. устранение таблицы и создание таблицы).

Неужели просто невозможно заполнить временную таблицу результатами двух запросов? Я использую неправильный инструмент для работы?

6
задан nageeb 22 August 2011 в 19:36
поделиться