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 :
Code : Tout sélectionner
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_membreComment pourrais-je faire ce "OU BIEN", par avance merci de votre aide...
Par avance merci de votre aide
PS : PostGreSQL 8.3.5
PPS : J'ai déjà cherché sur la doc, sur le forum et sur internet
PPPS :
Code : Tout sélectionner
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 ?