LOVs pegando display de outra tabela

Oracle Application Express - web application development tool (antigamente conhecido como Oracle HTML-DB)
Responder
carlynhos77
Rank: Analista Sênior
Rank: Analista Sênior
Mensagens: 172
Registrado em: Seg, 24 Out 2016 7:20 pm

Ola, boa tarde

Estou criando uma LOV selecionar um fornecedor que participa da licitacao, porém, na tabela "LIC_PROPONENTE " eu tenho somente o CODIGO do FORNECEDOR, a nome do fornecedor esta em outra tabela "GERAL_FORNECEDOR "... como eu faço para q no DISPLAY apareço o nome do fornecedor, tentei algo assim, mas não funcionou:

select NOME_RAZAO_SOCIAL as display_value, CODIGO as return_value
from GERAL_FORNECEDOR where GERAL_FORNECEDOR.CODIGO
=
(select CODIGO_PROPONENTE from LIC_PROPONENTE where codigo_licitacao = :G_NR_LICITACAO)
order by 1

Não funcionou, me parece q o caminho é +- por ai, o problema é q a tabela LIC_PROPONENTE tem mais de um registro, por existir varios fornecedores concorrendo na licitacao, dai o erro vem

"ORA-01427: a subconsulta de uma única linha retorna mais de uma linha"

alguém já fez um mix entre duas tabelas em uma LOV ??
carlynhos77
Rank: Analista Sênior
Rank: Analista Sênior
Mensagens: 172
Registrado em: Seg, 24 Out 2016 7:20 pm

ola, galera...

Consegui o que eu queria, to postando para alguém que precisar... segue codigo

Selecionar tudo

  select GERAL_FORNECEDOR.NOME_RAZAO_SOCIAL  as display_value,
         LIC_PROPONENTE.CODIGO_PROPONENTE  as return_value    
         from LIC_PROPONENTE LIC_PROPONENTE,
         GERAL_FORNECEDOR GERAL_FORNECEDOR where
         LIC_PROPONENTE.id_cidade = :g_id_cidade and
         LIC_PROPONENTE.codigo_licitacao = :G_NR_LICITACAO and
         GERAL_FORNECEDOR.CODIGO = LIC_PROPONENTE.CODIGO_PROPONENTE order by 1
Responder
  • Informação
  • Quem está online

    Usuários navegando neste fórum: Nenhum usuário registrado e 7 visitantes