• Jueves 28 de Marzo de 2024, 18:00

Autor Tema:  Consulta SQL  (Leído 2493 veces)

Fraggle

  • Nuevo Miembro
  • *
  • Mensajes: 5
    • Ver Perfil
Consulta SQL
« en: Jueves 8 de Septiembre de 2011, 20:17 »
0
Me estoy estancando en un consulta, a ver si me puede ayudar alguien.

Tengo una tabla: Compra (cliente, producto). Por poner unas cuantas filas de ejemplo:
Juan - Manzanas
Luis - Peras
Antonio - Peras
Juan - Uvas
Luis - Manzanas
Pedro - Manzanas
Pedro - Naranjas
Juan - Peras

Quisiera hacer una consulta en la cuál me muestre qué clientes han comprado Manzanas y Peras. Pero que me muestre sólo los que han comprado las dos.

Gracias por la ayuda!

ProfesorX

  • Moderador
  • ******
  • Mensajes: 796
  • Nacionalidad: mx
    • Ver Perfil
Re:Consulta SQL
« Respuesta #1 en: Viernes 9 de Septiembre de 2011, 01:04 »
0
Tienes que hacer una consulta "self-join", es decir, unir la tabla (join) consigo misma como si fueran dos tablas diferentes, por medio de aliases (as). Te dejo un ejemplo de como seria tomando como ejemplo la tabla que mencionas:

Código: [Seleccionar]
select c1.cliente from compra as c1 inner join compra as c2
on c1.cliente = c2.cliente
where c1.producto = 'manzanas' and c2.producto = 'peras';

Saludos :)

NOTA:
==================================================================
Este foro es para ayudar, aprender, compartir... usenlo para eso,
NO SE RESUELVEN DUDAS POR MENSAJE PRIVADO Y MENOS POR CORREO
==================================================================

Fraggle

  • Nuevo Miembro
  • *
  • Mensajes: 5
    • Ver Perfil
Re:Consulta SQL
« Respuesta #2 en: Viernes 9 de Septiembre de 2011, 02:41 »
0
Buenísimo! No me había dado cuenta del self-join. Muchas gracias por la ayuda!