Solucionado (ver solução)
Solucionado
(ver solução)
4
respostas

Mostrar Id das compras e o nome do comprador.

HELP!!! Estou tentando visualizar a tabela compras completa mas ao invés do COMPRADOR_ID quero ver o NOME do comprador. Baixo cód e erro:

Código

select id, valor, data, observacoes, recebido, forma_pagto, nome from compras join compradores on compras.comprador_id = compradores.id;

Erro

select id, valor, data, observacoes, recebido, forma_pagto, nome from compras join compradores on compras.comprador_id = compradores.id
       *
ERRO na linha 1:
ORA-00918: coluna definida de maneira ambÝgua
4 respostas

Oi Carlos,

Provavelmente você possui a coluna nome definida nas duas tabelas e por isso você precisa especificar de qual das tabelas que você quer obter o nome:

select id, valor, data, observacoes, recebido, forma_pagto, compradores.nome
  from compras join compradores
    on compras.comprador_id = compradores.id

Abraço!

Oi Joviane,

Então, referente a coluna nome```` ela só existe em uma das tabelas mesmo, que no caso seria emcompradores```. De qualquer forma eu alterei o código mas deu o mesmo erro.

SQL> desc compras;
 Nome                                                                                                                              Nulo?            Tipo
 -----------------------------------------------------------------------------------------------------------------------------------------------
 ID                                                                                                                                      NOT NULL     NUMBER
 VALOR                                                                                                                           NOT NULL     NUMBER(7,2)
 DATA                                                                                                                              NOT NULL     DATE
 OBSERVACOES                                                                                                       NOT NULL     VARCHAR2(30)
 RECEBIDO                                                                                                                  NOT NULL     CHAR(1)
 FORMA_PAGTO                                                                                                      NOT NULL     VARCHAR2(10)
 COMPRADOR_ID                                                                                                                  NUMBER
SQL> desc compradores;
 Nome                                                                                                                                    Nulo?        Tipo
 ----------------------------------------------------------------------------------------------------------------------------------------------- -------- ID                                                                                                                                      NOT NULL     NUMBER
NOME                                                                                                                            NOT NULL     VARCHAR2(30)
ENDERECO                                                                                                                NOT NULL     VARCHAR2(30)
TELEFONE                                                                                                                  NOT NULL     VARCHAR2(20)
solução!

Olá Carlos, o problema está no id, que está presente nas duas tabelas. Então é como a Joviane disse mesmo, só que você tem que dizer de qual tabela você quer selecionar o id. Tente:

select compras.id, valor, data, observacoes, recebido, forma_pagto, nome 
    from compras join compradores 
        on compras.comprador_id = compradores.id;

E ai Rômulo é isso mesmo cara! Valeu obrigado. Obrigado você também Joviane!