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?