Select com IN firebird 3.0 não retorna registros
01/04/2019
0
tenho uma tabela chamada PESSOAS onde tenho um campo chamado PES_PAPEL VARCHAR(10) onde salvo alguns valores que são chave primaria da tabela PAPEIS.
No campo PES_PAPEL tenho seguinte registro: 0,1,4,5
Na tabela PAPEIS tenho os seguintes registros:
PAS_ID PAS_DESCRICAO
0 Cliente
1 Fornecedor
2 Colaborador
3 Tecnico
4 Representante
5 Prestador de Serviços
Quando faço o select com IN ele não trás os dados da coluna PAS_DESCRICAO.
select pessoas.pes_papel, (select list( papeis.pas_descricao,'','') from papeis where cast(papeis.pas_id as varchar(2)) in(pessoas.pes_papel)) from pessoas
Sidney Abreu
Posts
01/04/2019
Menguelly Costa
tenho uma tabela chamada PESSOAS onde tenho um campo chamado PES_PAPEL VARCHAR(10) onde salvo alguns valores que são chave primaria da tabela PAPEIS.
No campo PES_PAPEL tenho seguinte registro: 0,1,4,5
Na tabela PAPEIS tenho os seguintes registros:
PAS_ID PAS_DESCRICAO
0 Cliente
1 Fornecedor
2 Colaborador
3 Tecnico
4 Representante
5 Prestador de Serviços
Quando faço o select com IN ele não trás os dados da coluna PAS_DESCRICAO.
select pessoas.pes_papel, (select list( papeis.pas_descricao,'','') from papeis where cast(papeis.pas_id as varchar(2)) in(pessoas.pes_papel)) from pessoas
Mas função 'in' voce coloca quando vai fazer mais de um filtro ex: pes_papel in ( 1,2) neste caso pelo que entendi esta direto.
Já tentou colocar "and"
01/04/2019
Sidney Abreu
tenho uma tabela chamada PESSOAS onde tenho um campo chamado PES_PAPEL VARCHAR(10) onde salvo alguns valores que são chave primaria da tabela PAPEIS.
No campo PES_PAPEL tenho seguinte registro: 0,1,4,5
Na tabela PAPEIS tenho os seguintes registros:
PAS_ID PAS_DESCRICAO
0 Cliente
1 Fornecedor
2 Colaborador
3 Tecnico
4 Representante
5 Prestador de Serviços
Quando faço o select com IN ele não trás os dados da coluna PAS_DESCRICAO.
select pessoas.pes_papel, (select list( papeis.pas_descricao,'','') from papeis where cast(papeis.pas_id as varchar(2)) in(pessoas.pes_papel)) from pessoas
Mas função 'in' voce coloca quando vai fazer mais de um filtro ex: pes_papel in ( 1,2) neste caso pelo que entendi esta direto.
Já tentou colocar "and"
A expressão IN acredito que seja a mais recomendada, e o AND não fica dinâmico, fica estático
02/04/2019
Ricardo Diniz
Tente utilizar o EXISTS.
At,
Clique aqui para fazer login e interagir na Comunidade :)