Ammettiamo di avere un DB con questa struttura e dati:

codice:
Tabella 'channel'
---------------
| id_channel  |
---------------
| 7                 |
| 17               |
---------------

Tabella 'gruppi'
-------------
| id_gruppo |
-------------
| 1              |
| 2              |
-------------

Tabella 'channel_gruppi'
----------------------------
| id_channel  | id_gruppo |
----------------------------
| 7                 | 1               |
| 7                 | 2               |
| 17               | 2               |
----------------------------
in pratica tra la tabella 'channel' e quella 'gruppi' vi è una relazione molti a molti, per cui vengono messe in relazione tramite una tabella di collegamento che contiene gli abbinamenti tra i channel e i gruppi.

da un id_gruppo per estrarre gli id_channel associati uso questa query:
codice:
SELECT channel.id_channel FROM channel, gruppi, channel_gruppi 
WHERE channel.id_channel=channel_gruppi.id_channel AND
channel_gruppi.id_gruppo=gruppi.id_gruppo AND 
gruppi.id_gruppo=$identificativo_gruppo
funziona a dovere. Il problema nasce quando devo fare i contrario, cioè quando devo trovare gli id_channel *NON* associati ad un gruppo. Ad esempio (vedi sopra) ottenere l'id_channel NON associato al gruppo 1 e dovrei ottenere l'id_channel 17, oppure ottenere gli id_channel NON associati al gruppo 2 e dovrei ottenere nessun record.

Ovviamente farlo con più query è facile ma vorrei riuscirci con una sola.

E' possibile?