Bonjour à toutes et à tous,
Voilà, je suis confronté à un problème, j'ai une liste de membre et je dois sortir un objet, une ligne, mais pas n'importe quelle ligne, j'ai le choix entre trois sorte de lignes : la ligne qu'il a définit lui même, la dernière qu'il a entrée ou bien la ligne qui lui est attribué par défaut... C'est un trie ^par ordre d'importance, j'ai donc tenté ça :
Voilà, le problème, c'est que je n'arrive à faire ce choix par "défaut", du coups, j'ai 2.772 lignes alors que je n'ai que 20 membres et 13 categories...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 SELECT membres.*, membre.pseudo FROM membres, membre, ref_ligne, ligne WHERE categorie2.pk_categorie=1 AND categorie."BordDroit"<=categorie2."BordDroit" AND categorie."BordGauche">=categorie2."BordGauche" AND membres.fk_membre=categorie.fondateur AND ((ref_ligne.fk_membre=membres.fk_membre AND ligne.pk_ligne=ref_ligne.fk_ligne) OR ligne.defaut=categorie.pk_categorie --Un membre peut-être le fondateur de plusieurs catégories, j'aimerais, aussi, que ce prédicats soit valide et validé uniquement si le membre n'est le fondateur d'une seule catégorie, comment faire :/ OR ligne.defaut=0 ) AND ligne.fk_categorie=1 AND membre.pk_membre=membres.fk_membre
Comment pourrais-je faire ce "OU BIEN", par avance merci de votre aide...
Par avance merci de votre aide
PS : J'ai déjà cherché sur la doc, sur le forum et sur internet
PPS :
Je n'ai mit que les tables qui pouvait avoir de l'importance
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 CREATE TABLE categorie --géré par Représentation Intervallaire ( pk_categorie serial, "BordGauche" integer, "BordDroit" integer, fondateur integer, --contient l'id d'un membre CONSTRAINT categorie_pkey PRIMARY KEY (pk_categorie) ) CREATE TABLE ref_ligne ( pk_ref serial, fk_membre integer, fk_ligne integer, CONSTRAINT ref_ligne_pkey PRIMARY KEY (pk_ref) )
PPPS : J'ai tenté un COUNT szur ligne, ce qui m'a renvoyé une belle erreur, pourquoi ?
Partager