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

0voto

Dadas las 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)

¿Como selecciono todos los vendedores que NO han hecho ventas al cliente 'Juan Perez'?

3 Respuestas

1voto

Puntos0
select * from vendedor ve inner join orden o on ve.id=o.idvendedor inner join cliente c on c.id=o.idcliente where c.nombre!='Juan Perez';

Lo puedes hacer como el codigo anterior o puedes usar en el where c.nombre no like '%Juan Perez%'

1voto

jorgepm Puntos520
Select 
     * 
From 
     Orden a, Vendedor b, Cliente c 
Where 
     a.IdVendedor = b.Id And 
     a.Idcliente = c.Id And 
     c.Nombre Not Like '%Juan Perez%'

1voto

gonnotda Puntos770

Yo usaría usaría un lower o upper, por si acaso, quedando así:

select * from vendedor v inner join
(select c.nombre, o.idvendedor from orden o inner join cliente c on c.id=o.idcliente) t on v.id = t.idvendedor
where lower(t.nombre) <> lower('Juan Perez');

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

Otras Preguntas y Respuestas


...

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

Conecta