Estoy intentando escribir un procedimiento almacenado para Crystal Reports combinando varias consultas en un único conjunto de resultados (Crystal no admite resultados múltiples en un informe).¿Cómo selecciono correctamente INTO @TempTable varias veces para devolver un solo conjunto de resultados?
El conjunto de resultados que intento obtener combina columnas de ambas tablas.
En el SP, declaro @temptable y las columnas (porque las dos tablas que estoy consultando tienen columnas diferentes).
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
)
Entonces SELECT
de ambas tablas INTO
la tabla temporal:
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
Y, por último, que acaba de obtener todos los datos de la tabla temporal.
SELECT * FROM @TEMPNEWBILLING
Por desgracia, algo va mal, como cuando corro el SP, me sale un error que
Ya existe un objeto denominado 'TEMPNEWBILLING' en la base de datos.
Lo he comprobado y parece que la primera consulta se está ejecutando, pero el error se produce en el segundo Seleccione en. Debo estar haciendo esto mal, ya que obtengo el mismo error si uso # tablas o @ tablas (es decir, delcare la tabla vs. crear la tabla).
¿Es la posibilidad de llenar una tabla temporal con los resultados de dos consultas simplemente imposible? ¿Estoy usando la herramienta incorrecta para el trabajo?