EDIT : funziona benissimo, chiudete o cancellate pure ^_^


Sono giunto alla fine : prima di tutto ringrazzio coloro che mi hanno aiutato, con la promessa di riguardarmi tutto con " piu calma " visto che ormai il tempo stringe.

Come ultima cosa espongo questa domanda, un po' piu teorica che pratica.
Dunque. Il mio database ha 3 tabelle , alloggi, prenotazioni ed utenti.

codice:
TABLE utenti {
user_id   PK
dati vari non importanti // li ometto
grado // grado stabilisce al momento della registrazione se e' un utente proprietario di una struttura o se e' un utente che vuole prenotarla
}

TABLE alloggi {
id_hotel PK
dati non importanti // li ometto
proprietario FK references utenti(user_id)
}

TABLE prenotazioni {
id_prenotazione PK
prenotante_id FK references utenti (user_id)
struttura_id FK references alloggi (id_hotel )
dati non importanti // li ometto
stato // di default messa a no. Cambiera in si solo quando un proprietario gestira' personalmente la prenotazione
}
Adesso la domanda e' questa : vorrei costruire una query che mi dica, al relativo proprietario, quali suoi hotel sono prenotati e da quali utenti.

Pensavo ad una query con 4 join, solamente che " su carta " l'ho sempre fatta in una certa maniera, ma con php e mysql credo di dover usare l'INNER JOIN.

Che ne dite di una query fatta cosi :

codice:
Select * FROM utenti JOIN  alloggi ON utenti.user_id = alloggi.proprietario 
INNER JOIN  prenotazioni ON alloggi.id_hotel =prenotazioni.struttura_id 
INNER JOIN  utenti AS richiedenti ON richiedenti.user_id = prenotazioni.prenotante_id 
WHERE le condizioni che voglio
Teoricamente mi sembra corretta, solo che non ho ben capito cosa mi comportino gli inner join. In questo modo mi sembra corretta : un proprietario puo' visualizzare quali suoi hotel sono sotto prenotazione e devono ancora essere gestiti, e puo' visualizzare i dati dell'utente da cui e' partita la prenotazione.