GARANTIR DESCONTO

Fórum Tentando economizar uma tabela #342468

11/06/2007

0

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

Responder

Posts

14/06/2007

Eric.miranda

ninguém conhece uma forma de fazer isso?
Obrigado


Responder

Gostei + 0

14/07/2007

José Henrique

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.


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar