Select com IN firebird 3.0 não retorna registros
Olá amigos, estou com um probleminha e precisando de um help.
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.
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
Curtidas 0
Respostas
Menguelly Costa
01/04/2019
Olá amigos, estou com um probleminha e precisando de um help.
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.
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"
GOSTEI 0
Sidney Abreu
01/04/2019
Olá amigos, estou com um probleminha e precisando de um help.
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.
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
GOSTEI 0
Ricardo Diniz
01/04/2019
O uso de IN nesse caso não é recomendado.
Tente utilizar o EXISTS.
At,
Tente utilizar o EXISTS.
At,
GOSTEI 0