SELECT a una tabla de relaciones


10 de Agosto del 2016
Buenos días, tengo que realizar una consulta en MySQL que realmente me puso a pensar mucho y tal vez uds me puedan ayudar a destrabarme.
Tengo dos tablas, clientes y tabla consumen.

clientes
+-----+-----------------------+
| idC | nombre                |
+-----+-----------------------+
|   1 | Super Norma           |
|   2 | Kiosco Pepe           |
|   3 | Bar Cholo             |
|   4 | Libertad Supermercado |
|   5 | Marcos Maxikiosco     |
|   6 | Pizeria Tana          |
+-----+-----------------------+
consumen			
+-----+-----------+-----------+
| idP | clienteId | producto  |
+-----+-----------+-----------+
|   1 |         1 | Coca Cola |
|   2 |         1 | Pepsi     |
|   3 |         1 | Fanta     |
|   4 |         2 | Sprite    |
|   5 |         2 | Fanta     |
|   6 |         3 | Pepsi     |
|   7 |         4 | Coca Cola |
|   8 |         4 | Sprite    |
|   9 |         4 | Seven Up  |
|  10 |         5 | Fanta     |
|  11 |         5 | Sprite    |
|  12 |         6 | Coca Cola |
|  13 |         6 | Fanta     |
|  14 |         6 | Sprite    |
+-----+-----------+-----------+

En el formulario el campo "NO MOSTRAR clientes que consuman:" ej: Fanta
Lo que quiero hacer es entregarle un array o un string con limitadores y este me filtre por producto.

SELECT * FROM clientes, consumen WHERE producto NOT IN ('Fanta') AND idC=clienteId GROUP BY idC;
;
+-----+-----------------------+-----+-----------+-----------+
| idC | nombre                | idP | clienteId | producto  |
+-----+-----------------------+-----+-----------+-----------+
|   1 | Super Norma           |   1 |         1 | Coca Cola |
|   2 | Kiosco Pepe           |   4 |         2 | Sprite    |
|   3 | Bar Cholo             |   6 |         3 | Pepsi     |
|   4 | Libertad Supermercado |   7 |         4 | Coca Cola |
|   5 | Marcos Maxikiosco     |  11 |         5 | Sprite    |
|   6 | Pizeria Tana          |  12 |         6 | Coca Cola |
+-----+-----------------------+-----+-----------+-----------+

El problema es que "Pizeria Tana", "Marcos Maxikiosco", "Super Norma" y "Kiosco Pepe" SI consumen 'Fanta'  y no quiero que me aparezcan.

Yo entiendo porque SI aparecen, por eso consulto si alguien sabría como resolver esto DESDE LA CONSULTA.

Muchas gracias por su tiempo!


11 de Agosto del 2016

Lo solucione asi

SELECT * FROM clientes WHERE idC NOT IN (SELECT clienteId FROM consumen WHERE producto="fanta")

Muchas gracias por su tiempo!