Requête mysql défectueuse
Résolu/Fermé
Smoking bird
Messages postés
870
Date d'inscription
mardi 11 mars 2008
Statut
Membre
Dernière intervention
10 juillet 2011
-
12 oct. 2009 à 16:11
Smoking bird Messages postés 870 Date d'inscription mardi 11 mars 2008 Statut Membre Dernière intervention 10 juillet 2011 - 14 oct. 2009 à 16:01
Smoking bird Messages postés 870 Date d'inscription mardi 11 mars 2008 Statut Membre Dernière intervention 10 juillet 2011 - 14 oct. 2009 à 16:01
A voir également:
- Requête mysql défectueuse
- Mysql download - Télécharger - Bases de données
- Mysql error in file: /engine/classes/mysql.php at line 53 ✓ - Forum Réseaux sociaux
- Le paquet « mysql-server » n'a pas de version susceptible d'être installée ✓ - Forum Debian
- Phpmyadmin a tenté de se connecter au serveur mysql, et le serveur a rejeté la connexion. merci de vérifier les valeurs de host, username et password dans la configuration et de s'assurer qu'elles correspondent aux informations fournies par l'administrateur du serveur mysql. ✓ - Forum PHP
- Carte sim défectueuse free ✓ - Forum Free mobile
6 réponses
M@dien
Messages postés
437
Date d'inscription
mercredi 29 juillet 2009
Statut
Membre
Dernière intervention
23 septembre 2010
74
13 oct. 2009 à 17:04
13 oct. 2009 à 17:04
Bonjour,
En effet, l'utilisation du case when est inappropriée. la syntaxe du case when exacte est:
Dans ton cas, je pense que cette requête pourrait fonctionner:
En effet, l'utilisation du case when est inappropriée. la syntaxe du case when exacte est:
SELECT col1, case when col2='a' then 'on affiche coucou' when col2='b' then 'on affiche bonjour' else 'on affiche autre chose' end AS 'nom de la colonne' FROM table
Dans ton cas, je pense que cette requête pourrait fonctionner:
SELECT id.ref_cat, rel.ref_bCat, id.nom, id.type, CASE id.type WHEN 'b' THEN bcg.outFocus WHEN 's' THEN scg.outFocus ELSE 'Erreur' END AS outFocus FROM cat_id id INNER JOIN cat_status as st using (ref_cat) LEFT OUTER JOIN cat_rel as rel using (ref_cat) LEFT JOIN bCat_config bcg using (ref_cat) LEFT join sCat_config scg using (ref_cat) WHERE st.status!=0 ORDER BY rel.ref_bCat
Smoking bird
Messages postés
870
Date d'inscription
mardi 11 mars 2008
Statut
Membre
Dernière intervention
10 juillet 2011
58
13 oct. 2009 à 19:39
13 oct. 2009 à 19:39
Merci M@dien de ta réponse, j'ai fini par me résoudre, l'utilisation du case ici est superflue, j'ai fait une requête plus classique, même si je voulais l'utiliser ;).
M@dien
Messages postés
437
Date d'inscription
mercredi 29 juillet 2009
Statut
Membre
Dernière intervention
23 septembre 2010
74
14 oct. 2009 à 09:49
14 oct. 2009 à 09:49
Il faut savoir également que le CASE WHEN n'est pas l'ami de PERFORMANCE ;)
Niveau performance, attention aussi au LEFT OUTER JOIN qui n'est pas la jointure la plus rapide. Il faut privilégier les simples LEFT JOIN et INNER JOIN. le RIGHT JOIN est intéressant mais déjà un peu plus long.
Bon courage pour la suite
Niveau performance, attention aussi au LEFT OUTER JOIN qui n'est pas la jointure la plus rapide. Il faut privilégier les simples LEFT JOIN et INNER JOIN. le RIGHT JOIN est intéressant mais déjà un peu plus long.
Bon courage pour la suite
Smoking bird
Messages postés
870
Date d'inscription
mardi 11 mars 2008
Statut
Membre
Dernière intervention
10 juillet 2011
58
14 oct. 2009 à 14:00
14 oct. 2009 à 14:00
okay pour le case when, c'est noté^^
Pour les performances du left outer join, j'y avais pas pensé, mais ça me semble logique. Cela dit, je prends soin de mes tables, j'optimise et j'analyse régulièrement ;)
Quant au right join, j'en suis pas encore au niveau où j'en saisi l'utilité :), mais j'me pencherais forcément un jour dessus^^
Merci pour les infos et à bientôt on CCM^^
Pour les performances du left outer join, j'y avais pas pensé, mais ça me semble logique. Cela dit, je prends soin de mes tables, j'optimise et j'analyse régulièrement ;)
Quant au right join, j'en suis pas encore au niveau où j'en saisi l'utilité :), mais j'me pencherais forcément un jour dessus^^
Merci pour les infos et à bientôt on CCM^^
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
M@dien
Messages postés
437
Date d'inscription
mercredi 29 juillet 2009
Statut
Membre
Dernière intervention
23 septembre 2010
74
14 oct. 2009 à 15:43
14 oct. 2009 à 15:43
Le RIGHT JOIN est l'inverse du LEFT JOIN. Le RIGHT JOIN renvoie toutes les lignes de la 2ème table, même si la condition n'est pas remplie.
Smoking bird
Messages postés
870
Date d'inscription
mardi 11 mars 2008
Statut
Membre
Dernière intervention
10 juillet 2011
58
14 oct. 2009 à 16:01
14 oct. 2009 à 16:01
intéressant^^ merci:)