Déjà, ta requête est fausse :
Code :
SELECT * FROM t1 WHERE ((id_el1=1 AND id_el2=2) OR (id_el1=2 AND id_el2=1)) AND type = 1
|
Ca marchera beaucoup mieux.
Pkoi tu veux pas de OR ? (à cause de ce bug que je viens de corriger ?)
Sinon, par jointure, faudrait déjà que tu ait quelquechose à joindre... Genre deux tables. Là t'en a qu'une (??)
Avec un UNION à la limite... Genre histoire de faire simple et bien mettre à genoux ton serveur :
Code :
SELECT * FROM ( SELECT id_el1 el1, id_el2 el2, type FROM t1 union ALL SELECT id_el2 el1, id_el1 el2, type FROM t1 ) t1 WHERE el1 = 1 AND el2 = 2 AND type = 1
|
Mais bon, là t'as vraiment envie de tout mettre par terre.
Par contre, un truc pas con, ce serait de mettre en place un trigger sur t1 qui crée instantanément la ligne inverse.