Conditionel dans requete
Résolu
AmeryCourtz
Messages postés
101
Statut
Membre
-
AmeryCourtz Messages postés 101 Statut Membre -
AmeryCourtz Messages postés 101 Statut Membre -
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
- Difficulté avec requête SQLite ✓ - Forum Android
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