Ciao ragazzi, nonostante sia ormai un po' di tempo che uso sql e php è la prima volta che do un occhio alle left join.

Quindi quello che segue potrebbe contenere delle cavolate immani

In pratica devo relazionare 3 tabelle.

faccio un esempio pratico:

tabella gruppi
codice:
+----+------+---------+--------+-------------+
| id | nome | privato | aperto | id_creatore |
+----+------+---------+--------+-------------+
tabella iscrizioni
codice:
+-----------+-----------+
| id_utente | id_gruppo |
+-----------+-----------+
tabella editori
codice:
+-----------+-----------+
| id_utente | id_gruppo |
+-----------+-----------+
In poche parole, devo permettere l'inserimento di un articolo in un gruppo solo in queste condizioni:

1. L'utente è creatore del gruppo (campo id_creatore)
2. Il gruppo è aperto, quindi chiunque è presente nella tabella iscrizioni può inserire un articolo al gruppo.
3. Il gruppo è chiuso, per poter inserire l'articolo nel gruppo bisogna essere presenti nella tabella editori oltre che in quella iscrizioni.

... ci sarebbero altre condizioni, ma voglio procedere per gradi, per il momento ho risolto le prime 2 condizioni con questa query:

codice:
SELECT * FROM gruppi g LEFT JOIN iscrizioni i ON i.id_gruppo = g.id WHERE (g.creator = 1) || ((g.grp_private = 0) && (g.grp_aperto = 1) && (i.id_utente = 1));
(il valore 1 nella query è compilato dinamicamente, ed è l'id dell'utente in sessione)
Posso ottenere il risultato che voglio in una query sola?
Come posso modificarla in caso?

grazie