J'ai un tas de X dans une base de données MySQL. Certains X ne vont pas ensemble, et je veux une table qui contienne toutes les paires de X et un booléen qui dise si elles sont correctes ou non.
Cette partie est assez simple :
CREATE TABLE good_x (
X_id_1 int(10) not null ,
X_id_2 int(10) not null ,
is_good tinyint(1)
) ;
Ma question est la suivante : Étant donné que Xsub1 et Xsub3 vont ensemble.
SELECT is_good from good_x where X_id_1 = "Xsub1" and X_id_2 = "Xsub3" ;
Mais qu'en est-il si les données arrivent en Xsub3, Xsub1 ? Je pourrais avoir deux entrées dans le tableau :
Xsub1,Xsub3,1
Xsub3,Xsub1,1
Mais il faut alors tenir compte de deux choses. Dans mon cas, il s'agit d'un vocabulaire contrôlé, je ne m'attends donc pas à beaucoup de changements. Mais si je veux ajouter un troisième X, Xsub5, vous avez alors six entrées à gérer.
Xsub1,Xsub3,Xsub5,1
Xsub1,Xsub5,Xsub3,1
Xsub3,Xsub1,Xsub5,1
Xsub3,Xsub5,Xsub1,1
Xsub5,Xsub1,Xsub3,1
Xsub5,Xsub3,Xsub1,1
Ce qui est difficile à maintenir.
Existe-t-il un moyen d'ajouter une série de X, deux ou plus, et de les associer au booléen, de sorte que je n'aie pas à avoir des tables séparées pour les doubles, les triples, les quadruples, les quintuples, etc. Est-ce possible dans n'importe quel SQL, et si oui, quelle est la syntaxe ?