Select com Union ALL usando IBX
Olá pessoal,
estou tentando usar o select abaixo:
Mas não estou obtendo sucesso :cry:
Se executar individualmente os dois select.... não tenho erro... mas quando uso o UNION ALL ocorre erro.
Uso o Firebird 1.5
A mensagem de erro é exibida abaixo:
estou tentando usar o select abaixo:
SELECT G.NOME_GRUPO, F.IDENTIFICADOR, F.TRATAMENTO, F.NOME, F.FONE_RESIDENCIAL, F.FONE_COMERCIAL, F.FONE_CELULAR, F.EMAIL, F.MSN, 1 AS TIPO_PESSOA, F.CIDADE, F.ESTADO, F.RUA, F.NUMERO, F.BAIRRO, F.CEP, F.PROFISSAO FROM PESSOAFISICA F, GRUPO G WHERE (UPPER(F.LOGIN) = ´CARLOS´ OR F.PUBLICA = 1) AND F.COD_GRUPO = G.COD_GRUPO UNION ALL SELECT G.NOME_GRUPO, J.IDENTIFICADOR, J.CNPJ TRATAMENTO, J.NOME, J.FONE FONE_RESIDENCIAL, J.FONE_FAX FONE_COMERCIAL, J.FONE_0800 FONE_CELULAR, J.EMAIL, J.HOME_PAGE MSN, 2 AS TIPO_PESSOA, J.CIDADE, J.ESTADO, J.RUA, J.NUMERO, J.BAIRRO, J.CEP, J.NOME PROFISSAO FROM PESSOAJURIDICA J, GRUPO G WHERE (UPPER(J.LOGIN) = ´CARLOS´ OR J.PUBLICA = 1) AND J.COD_GRUPO = G.COD_GRUPO ORDER BY 1, 3
Mas não estou obtendo sucesso :cry:
Se executar individualmente os dois select.... não tenho erro... mas quando uso o UNION ALL ocorre erro.
Uso o Firebird 1.5
A mensagem de erro é exibida abaixo:
ISC ERROR CODE:335544569 ISC ERROR MESSAGE: Dynamic SQL Error SQL error code = -104 Invalid command Data type unknown Statement: SELECT G.NOME_GRUPO, F.IDENTIFICADOR, F.TRATAMENTO, F.NOME, F.FONE_RESIDENCIAL, F.FONE_COMERCIAL, F.FONE_CELULAR, F.EMAIL, F.MSN, 1 AS TIPO_PESSOA, F.CIDADE, F.ESTADO, F.RUA, F.NUMERO, F.BAIRRO, F.CEP, F.PROFISSAO FROM PESSOAFISICA F, GRUPO G WHERE (UPPER(F.LOGIN) = ´CARLOS´ OR F.PUBLICA = 1) AND F.COD_GRUPO = G.COD_GRUPO UNION ALL SELECT G.NOME_GRUPO, J.IDENTIFICADOR, J.CNPJ TRATAMENTO, J.NOME, J.FONE FONE_RESIDENCIAL, J.FONE_FAX FONE_COMERCIAL, J.FONE_0800 FONE_CELULAR, J.EMAIL, J.HOME_PAGE MSN, 2 AS TIPO_PESSOA, J.CIDADE, J.ESTADO, J.RUA, J.NUMERO, J.BAIRRO, J.CEP, J.NOME PROFISSAO FROM PESSOAJURIDICA J, GRUPO G WHERE (UPPER(J.LOGIN) = ´CARLOS´ OR J.PUBLICA = 1) AND J.COD_GRUPO = G.COD_GRUPO ORDER BY 1, 3
Carlosib
Curtidas 0
Respostas
Bruno Belchior
06/10/2005
para usar essa condição você deve unir dois SQL´s que retornem exatamente o mesmo tipo de dados na mesma ordem, por exemplo, se no primeiro sql vc retorna um varchar(100) e um integer depois, no segundo vc não pode retornar um integer e depois o varchar(100)...
GOSTEI 0