Tout d'abord je me permets quelques remarques sur ta base :
- quand on a deux tables qui sont liés (ta table "collection" contient une reference à la table "membres") on fait cette liaison par l'id.
Actuellement tu repetes le pseudo complet du membre sur chaque enregistrement de la table "collection" ; et si un membre devait changer de pseudo, tu devrais changer toutes les enregistrements de sa collection egalement.
- quand tu dois faire des champs oui/non utiliser une champ BOOL avec 0 ou 1 ; c'est plus economique à stocker et comparer.
- nomme tes champs de maniere explicite : n'hesite pas a ecrire "double" plutot que "dou" par exemple.
- pour finir, il aurait suffit d'un champ stockant le nombre de cartes possédées. Cela te permettait de savoir avec un seul champ si le membre n'a pas la carte, l'a en double ou meme plus.
Actuellement tu pourrais techniquement avoir dou 'y' et col 'n' ce qui est incoherent.
---------------------------------
Pour le reste tu peux joindre une table a elle meme, il faut juste bien nommer chaque appel de la table et les champs qui vont avec :
1 2
| SELECT numero,c2.surnom FROM collection c1 JOIN collection c2 USING (numero)
WHERE c1.col='n' AND c1.surnom='$demandeur' and c2.dou='y' |
Partager