je pense que sa table, c'est une table de "lien" entre deux entités. donc on va avoir tous les couples possibles, ça me semble pas trop évident ton système, ou incomplet en tout cas.
à la limite, ça ça devrait marcher :
(avec ou sans distinct)
Code :
- select x*y / $val as iduser
- from table
- where (x = $val or y = $val)
|
sinon, en solution plus propre :
Code :
- select x
- from table
- where y = $val
- union all
- select y
- from table
- where x = $val
|
virer le "all" si on veut des valeurs distinctes.
le union est en général assez lent. cependant, dans ce cas précis (vu qu'on a un distinct dans la première de départ ou alors qu'on peut mettre all dans la seconde), cela devrait être plus rapide avec le union, et surtout plus clair. à vérifier.