Conditionel dans requete
Résolu
AmeryCourtz
Messages postés
94
Date d'inscription
Statut
Membre
Dernière intervention
-
AmeryCourtz Messages postés 94 Date d'inscription Statut Membre Dernière intervention -
AmeryCourtz Messages postés 94 Date d'inscription Statut Membre Dernière intervention -
Bonjour à tous,
Bien voila, j'ai un soucis avec ma requète dans cette fonction :
Mon soucis est là "AND AMM.MaMo_Id = AB.MarqueMoteur
OR AB.MarqueMoteur IN ('0')"
En fait je voudrait dire que si l'id marque moteur "AB.MarqueMoteur" est null je récupère rien ou une valeur null et que sinon je recupere la valeur qui correspond à l'id du moteur "AMM.MaMo_Id"
Le soucis c que j'ai beau mettre :
- "AND AMM.MaMo_Id = AB.MarqueMoteur"
- "AND AMM.MaMo_Id = AB.MarqueMoteur
OR AB.MarqueMoteur IN ('0')"
- "AND AB.MarqueMoteur IS NOT NULL
AND AMM.MaMo_Id = AB.MarqueMoteur"
Y a rien qui marche. Au mieux il me renvoit la valeur du premier id de ma table moteur se que je ne veut pas et au pire il me renvoit plus de tableau du tout.
Dans l'ideal j'aimerais dire "Si AB.MarqueMoteur != 0 alors mettre "AND AMM.MaMo_Id = AB.MarqueMoteur" Sinon donnée une valeur null à l'id moteur
Bien voila, j'ai un soucis avec ma requète dans cette fonction :
function AnnAff_DéclarationChamps($IdAnn){ //Ouverture BDD OuvertureBDD(); //On recupere les params $Result = mysql_query("SELECT Descriptif, AnneeBateau, LongueurBateau, LargeurBateau, NbCabine, NbCouchette, AnneeMoteur, NbMoteur, PuissMoteur, EnergieMoteur, PropulsionMoteur, CoorTel, CoorAdresseMail, Cat_Designation, MaMo_Designation, Scat_Designation FROM annonces_bateaux_categorie AnnC, annonces_bateaux_sous_categorie AnnSsC, annonces_bateaux_marque_moteur AMM, annonces_bateaux AB WHERE AB.IdAnnonce = " . $IdAnn . " AND AnnC.Cat_Id = AB.Categorie AND AMM.MaMo_Id = AB.MarqueMoteur OR AB.MarqueMoteur IN ('0') AND AnnSsC.Scat_Id = AB.SousCategorie") or die(mysql_error()); //echo("<script>window.alert('".$IdAnn."');</script>"); $Rslt=mysql_fetch_row($Result); return $Rslt; // On a fini de travailler, on ferme la connexion : mysql_close(); }
Mon soucis est là "AND AMM.MaMo_Id = AB.MarqueMoteur
OR AB.MarqueMoteur IN ('0')"
En fait je voudrait dire que si l'id marque moteur "AB.MarqueMoteur" est null je récupère rien ou une valeur null et que sinon je recupere la valeur qui correspond à l'id du moteur "AMM.MaMo_Id"
Le soucis c que j'ai beau mettre :
- "AND AMM.MaMo_Id = AB.MarqueMoteur"
- "AND AMM.MaMo_Id = AB.MarqueMoteur
OR AB.MarqueMoteur IN ('0')"
- "AND AB.MarqueMoteur IS NOT NULL
AND AMM.MaMo_Id = AB.MarqueMoteur"
Y a rien qui marche. Au mieux il me renvoit la valeur du premier id de ma table moteur se que je ne veut pas et au pire il me renvoit plus de tableau du tout.
Dans l'ideal j'aimerais dire "Si AB.MarqueMoteur != 0 alors mettre "AND AMM.MaMo_Id = AB.MarqueMoteur" Sinon donnée une valeur null à l'id moteur
A voir également:
- Conditionel dans requete
- Erreur de requete facebook - Forum Facebook
- Requete sql pix ✓ - Forum MySQL
- Quelle requête écrire pour demander au moteur de recherche de présenter de préférence les pages web traitant de tennis mais pas de tennis de table ✓ - Forum Java
- L'opérateur ou l'administrateur a refusé la requête ✓ - Forum Windows
- Quelle requête écrire pour demander au moteur de recherche de présenter de préférence les pages web traitant de tennis mais pas de tennis de table ? ✓ - Forum Loisirs / Divertissements
5 réponses
ok, mais utilise les inner ou left join pour virer ce genre de ligne AND AnnC.Cat_Id = AB.Categorie
ainsi ta clause where se consacrera à des filtres adaptés.
ainsi ta clause where se consacrera à des filtres adaptés.
Merci, j'hesité à utiliser les inner join, je suis pas trop à l'aise avec et j'étais pressé par le temps, mais merci à toi ^^
Cordialement
Cordialement
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question