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:
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
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
Curtir tópico
+ 0
Responder
Posts
14/06/2007
Eric.miranda
ninguém conhece uma forma de fazer isso?
Obrigado
Obrigado
Responder
Gostei + 0
14/07/2007
José Henrique
Tente
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.
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
Clique aqui para fazer login e interagir na Comunidade :)