Salve, ho due tabelle: amici e messaggi.
La tabella amici è semplice, strutturata così:
email | amico |
--------------
e la tabella messaggi:
email | messaggio | data |
-------------------------
Nella tabella amici ovviamente ci sono gli amici, in modo 'reciproco', ad esempio:
email | amico |
--------------
a@a.it | b@b.it |
b@b.it | a@a.it |
----------------
E la tabella messaggi:
email | messaggio | data |
-------------------------
a@a.it | test | DATA |
b@b.it | test2 | DATA |
c@c.it | test3 | DATA |
---------------------------
Mettiamo caso che io sono l' utente a@a.it, quindi ho come amico b@b.it e l' utente c@c.it è sconosciuto.
Ora sorge il problema: devo fare una select dei messaggi, selezionandone solo 10 (quindi limit 0,10) ordinati "per i più recenti" (quindi suppongo ORDER BY data DESC). Il problema è che devo selezionare queste 10 mischiate tra le mie (quindi tra i messaggi scritti da a@a.it) e quelli dei miei amici (in questo caso solo di b@b.it), mentre quelli di c@c.it, fino a quando non lo aggiungo come amico non li potrò visualizzare.
Come faccio?