Requete Sqlllllll
ABDELFETTAH
-
ABDELFETTAH -
ABDELFETTAH -
Bonjour,
aider moi svp;
je ss débutant en PHP MySql;
j'ai une table ds la base de données: filieres(etab, ville, avisexperts);
important: le champ "avisexperts" peut avoir 3 valeurs: F, FAR, FSC, DEF;
je cherche une requete select me permet d'afficher le resultat dans une table de 6 colonnes comme suit:
(etab, ville, nombre de F, nombre de FAR, nombre de FSC, nombre DEF);
Merci bien.
aider moi svp;
je ss débutant en PHP MySql;
j'ai une table ds la base de données: filieres(etab, ville, avisexperts);
important: le champ "avisexperts" peut avoir 3 valeurs: F, FAR, FSC, DEF;
je cherche une requete select me permet d'afficher le resultat dans une table de 6 colonnes comme suit:
(etab, ville, nombre de F, nombre de FAR, nombre de FSC, nombre DEF);
Merci bien.
A voir également:
- Requete Sqlllllll
- 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
- Requête bloquée par le pare-feu applicatif claranet webfence ✓ - Forum Réseaux sociaux
- L'opérateur ou l'administrateur a refusé la requête ✓ - Forum Windows
- Erreur d'exécution de la requete erreur inconnue - Forum Framework .NET
- Erreur a l execusion d une requete - Forum Logiciels
5 réponses
Salut,
tu peux essayer cela:
SELECT etab AS e,ville AS v,(SELECT COUNT(avisexperts) FROM filieres WHERE avisexperts='FAR' AND etab=f.ETAB AND ville=f.VILLE)AS FAR,(SELECT COUNT(avisexperts) FROM filieres WHERE avisexperts='FSC'AND etab=f.ETAB AND ville=f.VILLE) AS FSC,
(SELECT COUNT(avisexperts) FROM filieres WHERE avisexperts='DEF' AND etab=f.ETAB AND ville=f.VILLE) AS DEF
FROM filieres f
GROUP BY etab,ville
J'espere ca pourra t'aider!!
@+
tu peux essayer cela:
SELECT etab AS e,ville AS v,(SELECT COUNT(avisexperts) FROM filieres WHERE avisexperts='FAR' AND etab=f.ETAB AND ville=f.VILLE)AS FAR,(SELECT COUNT(avisexperts) FROM filieres WHERE avisexperts='FSC'AND etab=f.ETAB AND ville=f.VILLE) AS FSC,
(SELECT COUNT(avisexperts) FROM filieres WHERE avisexperts='DEF' AND etab=f.ETAB AND ville=f.VILLE) AS DEF
FROM filieres f
GROUP BY etab,ville
J'espere ca pourra t'aider!!
@+
Salut,
As tu fais un test de la requete???
Celle-ci te retourne bien le resultat que tu souhaites......
sinon tu as une autre alternatives:
select etab,ville ,count(F),count(Far),count(FSC),count(DEF) from (
select etab,ville,avisexperts as F,null as Far,null as FSC,null As DEF from filieres WHERE avisexperts='Favorable'
union all
select etab,ville,null,avisexperts,null,null from filieres WHERE avisexperts='Favorable avec recommandations'
union all
select etab,ville,null,null,avisexperts,null from filieres WHERE avisexperts='Favorable sous conditions'
union all
select etab,ville,null,null,null,avisexperts from filieres WHERE avisexperts='Défavorable'
)
group by etab,ville
Cette requete te donnera le meme resultat que celle donnée au premier post...
@+
As tu fais un test de la requete???
Celle-ci te retourne bien le resultat que tu souhaites......
sinon tu as une autre alternatives:
select etab,ville ,count(F),count(Far),count(FSC),count(DEF) from (
select etab,ville,avisexperts as F,null as Far,null as FSC,null As DEF from filieres WHERE avisexperts='Favorable'
union all
select etab,ville,null,avisexperts,null,null from filieres WHERE avisexperts='Favorable avec recommandations'
union all
select etab,ville,null,null,avisexperts,null from filieres WHERE avisexperts='Favorable sous conditions'
union all
select etab,ville,null,null,null,avisexperts from filieres WHERE avisexperts='Défavorable'
)
group by etab,ville
Cette requete te donnera le meme resultat que celle donnée au premier post...
@+
salut,
J'ai testé les deux requete, la première m'a donné le resultat sauf que pour les colonnes "F", "FAR", "FSC" et "DEF" ayant les memes valeures (0, 12, 11, 1) pour toutes les lignes du tableau affiché, ce qui fait les 4 requête ont calculé le NOMBRE TOTAL de "F", "FAR", "FSC" et "DEF" dans la table bases de données "filieres" et les font repeter pour toutes les lignes du tableu d'affichage.
pour la deuxieme requête, il ya une erreur MySql: #1248 - Every derived table must have its own alias;
j'ai essayé de faire plusieurs modifications et testes mais sans resultat.
merci pour vous aides
J'ai testé les deux requete, la première m'a donné le resultat sauf que pour les colonnes "F", "FAR", "FSC" et "DEF" ayant les memes valeures (0, 12, 11, 1) pour toutes les lignes du tableau affiché, ce qui fait les 4 requête ont calculé le NOMBRE TOTAL de "F", "FAR", "FSC" et "DEF" dans la table bases de données "filieres" et les font repeter pour toutes les lignes du tableu d'affichage.
pour la deuxieme requête, il ya une erreur MySql: #1248 - Every derived table must have its own alias;
j'ai essayé de faire plusieurs modifications et testes mais sans resultat.
merci pour vous aides
Salut,
regarde ce lien, il pourra t'aider!!
https://www.developpez.net/forums/d175298/bases-donnees/langage-sql/mysql-d-butant-effectuer-tri-resultat/
@+
regarde ce lien, il pourra t'aider!!
https://www.developpez.net/forums/d175298/bases-donnees/langage-sql/mysql-d-butant-effectuer-tri-resultat/
@+
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Merci bcq pour vous aides
j'ai utilisé la deuxième requête, mais avant de faire la selection finale, j'ai créé une table logique TEST avec l'union des requetes:
select etab,ville,avisexperts as F,null as FAR,null as FSC,null As DEF from filieres WHERE avisexperts='Favorable'
union all
select etab,ville,null as F, avisexperts as FAR, null as FSC, null as DEF from filieres WHERE avisexperts='Favorable avec recommandations'
union all
select etab,ville,null as F, null as FAR, avisexperts as FSC, null as DEF from filieres WHERE avisexperts='Favorable sous conditions'
union all
select etab,ville,null as F, null as FAR, null as FSC, avisexperts as DEF from filieres WHERE avisexperts='Défavorable'
et en fin j'ai fais la selection finale avec la requete:
select etab, ville, count(F) as Favorable, count(FAR) as Favorable avec recommandations, count(FSC) as Fvorable sous conditions, count(DEF) as Défavorable from TEST ) group by etab, ville;
ça marche trés bien
merci
j'ai utilisé la deuxième requête, mais avant de faire la selection finale, j'ai créé une table logique TEST avec l'union des requetes:
select etab,ville,avisexperts as F,null as FAR,null as FSC,null As DEF from filieres WHERE avisexperts='Favorable'
union all
select etab,ville,null as F, avisexperts as FAR, null as FSC, null as DEF from filieres WHERE avisexperts='Favorable avec recommandations'
union all
select etab,ville,null as F, null as FAR, avisexperts as FSC, null as DEF from filieres WHERE avisexperts='Favorable sous conditions'
union all
select etab,ville,null as F, null as FAR, null as FSC, avisexperts as DEF from filieres WHERE avisexperts='Défavorable'
et en fin j'ai fais la selection finale avec la requete:
select etab, ville, count(F) as Favorable, count(FAR) as Favorable avec recommandations, count(FSC) as Fvorable sous conditions, count(DEF) as Défavorable from TEST ) group by etab, ville;
ça marche trés bien
merci
La solution est plus proche de nous juste que les requêtes :
(
SELECT COUNT( avisexperts )
FROM filieres
WHERE avisexperts = 'Favorable'
) AS F, (
SELECT COUNT( avisexperts )
FROM filieres
WHERE avisexperts = 'Favorable avec recommandations'
) AS FAR, (
SELECT COUNT( avisexperts )
FROM filieres
WHERE avisexperts = 'Favorable sous conditions'
) AS FSC, (
SELECT COUNT( avisexperts )
FROM filieres
WHERE avisexperts = 'Défavorable'
) AS DEF
calculent le NOMBRE TOTAL pour chaque avis dans toute la table filieres, mais moi je veux que pour chaque ligne (etab, ville) je calcule le nombre de F, FAR, FSC et DEF
Exemple :
Etab (EST), ville (Casa), 2 (F), 3 (FAR), 7 (FSC), 1 (DEF)
Etab (ENSIAS), ville (Rabat), 6 (F), 3 (FAR), 2 (FSC), 1 (DEF)