Foro de elhacker.net

Programación => PHP => Mensaje iniciado por: dimitrix en 20 Febrero 2012, 19:47 pm



Título: Ayuda con Consulta
Publicado por: dimitrix en 20 Febrero 2012, 19:47 pm
Empecemosm tengo dos tablas (son más ámplias, pero pongo solo lo interesante).

Tabla 1
IDNombretelefono
1Luis666123321
2Carlos632987123
3Miguel626710012


Tabla 2
IDID_clienteid_producto
111
222
312
334
313

Vale y tengo que hacer dos cosas.

1º Sacar todos los Clientes que no tenga el producto (id_producto) 1

1º Sacar todos los clientes que no tenga el producto 1 pero que tengan el 2

He intenado de mil formas pero no me sale :-/


Título: Re: Ayuda con Consulta
Publicado por: HdM en 20 Febrero 2012, 20:16 pm
Buenas.

Monta consultas que excluyan los id de cliente usando "and". Por ejemplo para el primer caso, creo que te valdría:

Código
  1. SELECT *
  2. FROM tabla1
  3. WHERE id IN (SELECT DISTINCT id_cliente FROM tabla2 WHERE id_producto <>1) AND id NOT IN (SELECT DISTINCT id_cliente FROM tabla2 WHERE id_producto =1);
  4.  

La segunda consulta que planteas, añadiendo una exclusión más, la tendrías montada.

Igual lo que planteo, se podría hacer con una consulta más optimizada mediante inner, pero a priori, lo que te indico creo que te puede valer.

Saludos.