Probleme de requete sql
sql
-
sql -
sql -
Bonjour,
j'ai une requête :
$sql1="SELECT an_inst, cat_gene, dec_jur, count(cat_gene) AS cat_gene,
CASE when dec_jur='affaire gagné' then valeur as dec_jur1
CASE when dec_jur='affaire perdue' then valeur as dec_jur2,
CASE when dec_jur='désistement, non-lieux' then valeur as dec_jur3
FROM instances ";
avec l'erreur suivante :
Erreur de syntaxe près de 'as dec_jur1 CASE when dec_jur='affaire perdue' then valeur as dec_jur2, C'
Je vois pas trop comment la résoudre :s
j'ai une requête :
$sql1="SELECT an_inst, cat_gene, dec_jur, count(cat_gene) AS cat_gene,
CASE when dec_jur='affaire gagné' then valeur as dec_jur1
CASE when dec_jur='affaire perdue' then valeur as dec_jur2,
CASE when dec_jur='désistement, non-lieux' then valeur as dec_jur3
FROM instances ";
avec l'erreur suivante :
Erreur de syntaxe près de 'as dec_jur1 CASE when dec_jur='affaire perdue' then valeur as dec_jur2, C'
Je vois pas trop comment la résoudre :s
A voir également:
- Probleme de requete sql
- Logiciel sql - Télécharger - Bases de données
- Sql lister les tables ✓ - Forum Programmation
- 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
- Erreur lors de l'envoi de la requête facebook - Forum Facebook
- Requête bloquée par le pare-feu applicatif claranet webfence ✓ - Forum Réseaux sociaux
1 réponse
Bonjour.
Lorsque vous effectuez des requête, n'hésitez pas à bien les formater pour mieux vous y retrouver (voir : https://sql.sh/774-indentation-code-sql ).
Essayez avec ceci, à priori ça devrait mieux fonctionner :
A savoir : les accents dans une requête c'est pas l'idéal. Personnellement je vous suggère d'utiliser un type TINYINT pour dec_jur et de mettre un commentaire pour vous y retrouver.
En espérant que cela vous aide.
Cordialement,
Lorsque vous effectuez des requête, n'hésitez pas à bien les formater pour mieux vous y retrouver (voir : https://sql.sh/774-indentation-code-sql ).
Essayez avec ceci, à priori ça devrait mieux fonctionner :
SELECT an_inst, cat_gene, dec_jur, count(cat_gene) AS cat_gene, CASE dec_jur WHEN 'affaire gagné' THEN valeur AS dec_jur1 WHEN 'affaire perdue' THEN valeur AS dec_jur2 WHEN 'désistement, non-lieux' THEN valeur AS dec_jur3 END FROM instances
A savoir : les accents dans une requête c'est pas l'idéal. Personnellement je vous suggère d'utiliser un type TINYINT pour dec_jur et de mettre un commentaire pour vous y retrouver.
En espérant que cela vous aide.
Cordialement,
CASE
WHEN dec_jur='affaire gagné' then valeur as dec_jur1
WHEN dec_jur='affaire perdue' then valeur as dec_jur2
WHEN dec_jur='désistement, non-lieux' then valeur as dec_jur3
END
FROM instances
l'erreur affiché c'est erreur de syntaxe
"pr?s de 'as dec_jur1 WHEN 'affaire perdue' then valeur as dec_jur2 WHEN 'désist' "
En fait vous n'avez pas précisé ce que vous vouliez retourner. La requête ce ne serait pas ça par hasard :
S'il y a toujours une erreur, pouvez-vous préciser ce que vous souhaitez et à quoi ressemble la structure et les données de votre table.
Cordialement,
$sql1="SELECT an_inst, cat_gene, dec_jur, count(cat_gene) AS cat_gene,
sum(CASE when cat_gene='administration et police' then 1 else 0 End) as cat_gene1,
sum(CASE when cat_gene='affaires foncières - domaine' then 1 else 0 End) as cat_gene2,
sum(CASE when cat_gene='collectivités territoriales et EPCI' then 1 else 0 End) as cat_gene3,
sum(CASE when cat_gene='nature - environnement' then 1 else 0 End) as cat_gene4,
sum(CASE when cat_gene='urbanisme - travaux' then 1 else 0 End) as cat_gene5,
sum(CASE when cat_gene='divers' then 1 else 0 End) as cat_gene6,
FROM instances
WHERE jur='tribunal administratif'
GROUP BY an_inst";
a celle-ci je cherche désespérément à afficher une ligne pour chaque année gagné perdue et desistement..
Histoire que ca me fasse :
année decision admi ...........
2000 gagné 12
2000 perdue 2
2000 desis 3
car pour le moment avec cette simple requête ca m'affiche toutes les décisions mais sans les différencier..
En esperant avoir été plus claire?