Aide en SQL
Résolu
juloo6578
Messages postés
52
Date d'inscription
Statut
Membre
Dernière intervention
-
Reivax962 Messages postés 3672 Date d'inscription Statut Membre Dernière intervention -
Reivax962 Messages postés 3672 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je souhaite effectuer un requête un peut particulière dont je ne trouve pas la solution
Les données sont enregistrées dans la table comme ceci :
La requête doit renvoyer le nombre d'occurrence d'une chaîne de caractères dans 'envoyeur' et le nombre d'occurrence de cette même chaîne de caractère dans receveur
Cette chaîne de caractère représenterais le nom de l'utilisateur.
exemple :
Je souhaite effectuer un requête un peut particulière dont je ne trouve pas la solution
Les données sont enregistrées dans la table comme ceci :
envoyeur receveur juloo6578 maxPain juloo6578 Hubert Hubert maxPain maxPain juloo6578 Hubert juloo6578 juloo6578 maxPain
La requête doit renvoyer le nombre d'occurrence d'une chaîne de caractères dans 'envoyeur' et le nombre d'occurrence de cette même chaîne de caractère dans receveur
Cette chaîne de caractère représenterais le nom de l'utilisateur.
exemple :
Utilisateur Envoyé Recu juloo6578 3 2 maxPain 1 3 Hubert 2 1
A voir également:
- Aide en SQL
- Logiciel sql - Télécharger - Bases de données
- Requete sql pix - Forum PHP
- Additions et multiplication dans des requêtes SQL ✓ - Forum MySQL
- Sql query download - Télécharger - Gestion de données
- Ora-00933: la commande sql ne se termine pas correctement ✓ - Forum Oracle
1 réponse
Bonjour,
En une seule requête obligatoirement ?
Dans ce cas, tu peux essayer ça :
Y a peut-être plus simple... Mais je n'ai rien sous la main pour tester.
Xavier
En une seule requête obligatoirement ?
Dans ce cas, tu peux essayer ça :
select t.nom, coalesce(envoyeur, 0) as envoyé, coalesce(receveur, 0) as reçu from ( select distinct envoyeur as nom from table union select distinct receveur from table ) t left outer join ( select receveur, count(*) from table group by receveur ) rec ON rec.receveur = t.nom left outer join ( select envoyeur, count(*) from table group by envoyeur ) env ON env.envoyeur = t.nom
Y a peut-être plus simple... Mais je n'ai rien sous la main pour tester.
Xavier
Ceci devrait être mieux :