Pues eso, ¿es posible crear datos al vuelo con firebird?, me explico, esta duda forma parte de éste Hilo:
Quiero crear categorías al vuelo aunque no estén en la tabla Categorías y agrupar datos existentes y ligarla a esa categoría, por ejemplo:
En la tabla categorias tengo estos ID's [1,2,3,4,5,6] y en la consulta agregar "al vuelo" (No crearla en la tabla) ID's como [99991,99992] y agrupar los datos de acuerdo al tipo de Despacho a esos ID's.
Pregunto, ¿Es Posible?.
Saludos.
PD. Espero haberme explicado, en link más arriba está la mayoría de lo que requiero, para no repetirlo de nuevo .
¿Es posible crear datos al vuelo con Firebird?
Comenzado por
enecumene
, nov 15 2012 12:58
2 respuestas en este tema
#1
Escrito 15 noviembre 2012 - 12:58
#2
Escrito 15 noviembre 2012 - 02:13
Que tal enecumene, pues se me ocurre hacerlo con un UNION ALL.
Algo como:
Ignoro si es lo más adecuado pero es una idea.
Saludos
Algo como:
Select A, B, C
From TableA
Where vehiculos = 'BUS'
UNIOL ALL
Select First 1 '99991', NULL, NULL
From TableA
UNIOL ALL
Select First 1 '99992', NULL, NULL
From TableA
UNIOL ALL
Select First 1 '99993', NULL, NULL
From TableA
Ignoro si es lo más adecuado pero es una idea.
Saludos
#3
Escrito 15 noviembre 2012 - 02:32
Muchas gracias Fredycc, ahora mismo acabo de resolver el problema, usando la clausula CASE...WHEN, quedó de esta manera:
Saludos.
INSERT INTO TMPDESPACHOSGASOILPRUEBA
SELECT case
when desp_tipo = 'AN' then ve_categoria
when desp_tipo = 'CR' then 9991
else 9992 end GRUPO,
SUM(desp_cant) CANTIDAD
FROM despachos
LEFT JOIN vehiculos
ON despachos.ve_id = vehiculos.ve_id
WHERE desp_comb = 2
AND desp_estado = 1 AND desp_fecha >= '1.11.2012' AND desp_fecha <= '14.11.2012'
GROUP BY GRUPO
Saludos.