Tentando economizar uma tabela

Delphi

11/06/2007

Galera, estou desenvolvendo um software aqui de processamento e estava querendo ver se vcs sacam de sql para me dar uma ajudinha..
estava querendo economizar uma tabela e montei o seguinte codigo sql:

SELECT     DATA, EMPRESA_ID, N_FILME, COUNT(ANALISE_ID) AS CONV, 0 AS NCONV, OPERADOR_ID 
FROM         AIIP 
WHERE     (ANALISE_ID = 1) AND (DATA = ´03/08/2007´) 
GROUP BY DATA, EMPRESA_ID, N_FILME, OPERADOR_ID 
UNION ALL 
SELECT     DATA, EMPRESA_ID, N_FILME, COUNT(ANALISE_ID) AS NCONV, 0 AS CONV, OPERADOR_ID 
FROM         AIIP 
WHERE     (ANALISE_ID > 1) AND (DATA = ´03/08/2007´) 
GROUP BY DATA, EMPRESA_ID, N_FILME, OPERADOR_ID 



ou seja estou querendo unir os dados..até agora eu faço o seguinte executo a primeira e gravo numa tabela, depois executo a segunda e atualizo na tabela..
o problema é com os campos CONV e NCONV
ele executa mas joga todos os valores no CONV e 0 no NCONV..
teria como ajeitar isso ou terei mesmo que gravar na tabela..

obrigado
Eric


Eric.miranda

Eric.miranda

Curtidas 0

Respostas

Eric.miranda

Eric.miranda

11/06/2007

ninguém conhece uma forma de fazer isso?
Obrigado


GOSTEI 0
José Henrique

José Henrique

11/06/2007

Tente

SELECT     DATA, EMPRESA_ID, N_FILME, COUNT(ANALISE_ID) AS CONV, 0 AS NCONV, OPERADOR_ID
FROM         AIIP
WHERE     (ANALISE_ID = 1) AND (DATA = ´03/08/2007´)
GROUP BY DATA, EMPRESA_ID, N_FILME, OPERADOR_ID
UNION ALL
SELECT     DATA, EMPRESA_ID, N_FILME, 0 AS CONV, COUNT(ANALISE_ID) AS NCONV, OPERADOR_ID
FROM         AIIP
WHERE     (ANALISE_ID > 1) AND (DATA = ´03/08/2007´)
GROUP BY DATA, EMPRESA_ID, N_FILME, OPERADOR_ID 


Creio que UNION requer que as colunas estejam na mesma ordem em cada SELECT. Não há uma ´arrumação´ baseada no nome dos campos. Assim os dados da 1ª coluna dos selects serão reunidos na 1ª coluna da UNION, os da 2ª coluna dos selects sairão na 2ª do UNION e assim por diante.


GOSTEI 0
POSTAR