Ciao a tutti,
devo fare una join per recuperare i dati degli utenti che ho tra i miei amici che rispetti gli indici delle tabelle, ma purtroppo ho dei problemi.
La tabella friend_list è così strutturata:
IDREQ | ID1 | ID2 | STATUS
1, 112, 154, 1
2, 112, 32, 1
3, 55, 112, 1
Ovviamente io (utente 112) potrei trovarmi sia come ID1 che come ID2, per questo la join che faccio è la seguente
(sottolineo la parte di interesse con le frecce ):
Il problema è che cosi facendo la join non mi rispetta gli indici, e quindi scansiona tutta la tabella utenti. Chiaramente se levassi l'OR dopo l'ON, gli indici li rispetterebbe.Codice PHP:
SELECT * FROM friend_list
JOIN utenti ON ---->> (id1 = id) OR (id2 = id) <<---
WHERE id1 = '112' OR id2 = '112'
GROUP BY nick
C'è un modo per arrivare allo stesso risultato senza far scansionare tutti gli indici al DB???
Grazie mille![]()
![]()
![]()