entre Desarrolladores

Recibe ayuda de expertos

Registrate y pregunta

Es gratis y fácil

Recibe respuestas

Respuestas, votos y comentarios

Vota y selecciona respuestas

Recibe puntos, vota y da la solución

Pregunta

1voto

Resolución de ambigüedad al usar términos homónimos en SQL

Dadas las siguientes tablas:

vendedor (id INTEGER, nombre VARCHAR(100), edad INTEGER, sueldo DECIMAL(6,2))
cliente (id INTEGER, nombre VARCHAR(100), giro VARCHAR(50), ciudad VARCHAR(50))
orden (folio INTEGER, fecha DATE, monto DECIMAL(6,2), idvendedor INTEGER, idcliente INTEGER)

El siguiente query no se ejectua, ¿qué está mal en el?

select id,fecha,nombre,monto from vendedor v inner join orden o on v.id=o.idvendedor inner join cliente c on o.idcliente=c.id where monto >= -5

0voto

OscarCanfranc comentado

¿Te sale algún error o, simplemente, te devuelve 0 filas?

De todas formas, en la parte del select especifica a qué id y nombre te refieres.

1 Respuesta

2votos

wchiquito Puntos180

El problema debe ser la ambigüedad de las columnas, el motor no sabe a cual te refieres.

Al ejecutar:

select id, fecha, nombre, monto
from vendedor v
  inner join orden o on v.id = o.idvendedor
  inner join cliente c on o.idcliente = c.id
where monto >= -5;

Seguramente da un error como:

Column 'id' in field list is ambiguous:
select id, fecha, nombre, monto
from vendedor v
  inner join orden o on v.id = o.idvendedor
  inner join cliente c on o.idcliente = c.id
where monto >= -5

Trata (ajusta lo que sea necesario):

select v.id, o.fecha, v.nombre, o.monto
from vendedor v
  inner join orden o on v.id = o.idvendedor
  inner join cliente c on o.idcliente = c.id
where o.monto >= -5;

Por favor, accede o regístrate para responder a esta pregunta.

¿Conoces alguien que puede responder?
¡Comparte esta pregunta!


Otras Preguntas y Respuestas


Actividad Reciente

  • Fahrek ganó una medalla hace 1 día

    Regular - Primera visita hace más de 90 días
  • Fahrek ganó una medalla hace 1 día

    Veterano - Primera visita hace más de 180 días
  • Fahrek ganó una medalla hace 1 día

    Antepasado - Primera visita hace más de 365 días
  • davidxyz ganó una medalla hace 3 días

    Humano Verificado - Verificó su email
  • davidxyz ganó una medalla hace 3 días

    Club de los 100 - Recibió un total de 100 puntos
  • tttest ganó una medalla hace 3 días

    Humano Verificado - Verificó su email
  • tttest ganó una medalla hace 3 días

    Club de los 100 - Recibió un total de 100 puntos
  • fmolina ganó una medalla hace 4 días

    Humano Verificado - Verificó su email
  • fmolina ganó una medalla hace 4 días

    Club de los 100 - Recibió un total de 100 puntos
...

Bienvenido a entre Desarrolladores, donde puedes realizar preguntas y recibir respuestas de otros miembros de la comunidad.

Conecta