Panne requête SQL
Fermé
SexyPotatoe
Messages postés
11
Date d'inscription
mercredi 6 mai 2015
Statut
Membre
Dernière intervention
16 juin 2015
-
Modifié par SexyPotatoe le 6/05/2015 à 16:35
SexyPotatoe Messages postés 11 Date d'inscription mercredi 6 mai 2015 Statut Membre Dernière intervention 16 juin 2015 - 12 mai 2015 à 09:35
SexyPotatoe Messages postés 11 Date d'inscription mercredi 6 mai 2015 Statut Membre Dernière intervention 16 juin 2015 - 12 mai 2015 à 09:35
A voir également:
- Panne requête SQL
- Erreur lors de l'envoi de la requête facebook marketplace - Forum Facebook
- Il y a eu un problème avec cette requête. nous travaillons à sa résolution aussi vite que nous le pouvons. - Forum Facebook
- Logiciel sql - Télécharger - Bases de données
- Sql server recovery - Télécharger - Gestion de données
- Requête sql doublons sur 2 champs ✓ - Forum Programmation
5 réponses
SexyPotatoe
Messages postés
11
Date d'inscription
mercredi 6 mai 2015
Statut
Membre
Dernière intervention
16 juin 2015
7 mai 2015 à 14:43
7 mai 2015 à 14:43
Je me permets de relancer le post.
benol3
Messages postés
569
Date d'inscription
lundi 29 juillet 2013
Statut
Membre
Dernière intervention
7 mai 2015
87
7 mai 2015 à 14:58
7 mai 2015 à 14:58
Salut,
Pour ta première requête, testes ceci :
Le "DISTINCT" devrait ôter les doublons...
Pour ta seconde demande, essaies cette requete :
Pour ta première requête, testes ceci :
SELECT DISTINCT ID, Sum(Puissance), Combustible FROM MaTable GROUP BY ID, Combustible;
Le "DISTINCT" devrait ôter les doublons...
Pour ta seconde demande, essaies cette requete :
SELECT ID, Combustible, MAX(Puissance) FROM MaTable GROUP BY ID, Combustible;
Bonjour,
"Si il y a plusieurs types de combustibles pour un même "ID", ne garder que le "Combustible" correspondant à la plus grande "Puissance". "
Tu es obligé de faire en 2 temps, avec 2 requêtes, une pour sortir les puissances cumulées, une autre pour sortir les types de combustibles à retenir, et dans un 2ème temps, confronter les 2 résultats.
Je te propose:
1) Req1 = SELECT ID, Sum(Puissance) as PuissanceCumul FROM MaTable GROUP BY ID
2) Req2 = SELECT DISTINCT ID, Combustible FROM MaTable
3) Req3 = SELECT Req2.ID, Combustible, PuissanceCumul FROM Req2 LEFT JOIN Req1 on Req2.ID = Req1.ID
Une fois les 3 requêtes enregistrées, il suffit d'ouvrir la dernière pour avoir le résultat final, pas besoin d'ouvrir les 2 1ères. Il faut juste les tester une fois pouur vérifier qu'elles tournent correctement.
Bonne sute (C'était ma modeste participation à la survie du canton de Vaud)
"Si il y a plusieurs types de combustibles pour un même "ID", ne garder que le "Combustible" correspondant à la plus grande "Puissance". "
Tu es obligé de faire en 2 temps, avec 2 requêtes, une pour sortir les puissances cumulées, une autre pour sortir les types de combustibles à retenir, et dans un 2ème temps, confronter les 2 résultats.
Je te propose:
1) Req1 = SELECT ID, Sum(Puissance) as PuissanceCumul FROM MaTable GROUP BY ID
2) Req2 = SELECT DISTINCT ID, Combustible FROM MaTable
3) Req3 = SELECT Req2.ID, Combustible, PuissanceCumul FROM Req2 LEFT JOIN Req1 on Req2.ID = Req1.ID
Une fois les 3 requêtes enregistrées, il suffit d'ouvrir la dernière pour avoir le résultat final, pas besoin d'ouvrir les 2 1ères. Il faut juste les tester une fois pouur vérifier qu'elles tournent correctement.
Bonne sute (C'était ma modeste participation à la survie du canton de Vaud)
SexyPotatoe
Messages postés
11
Date d'inscription
mercredi 6 mai 2015
Statut
Membre
Dernière intervention
16 juin 2015
9 mai 2015 à 15:23
9 mai 2015 à 15:23
Merci à tous pour la précision de vos réponses. Je testerai immédiatement les manipulations citées précédemment une fois au bureau lundi matin, et vous redonnerai des retours.
Bien à vous...
Bien à vous...
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
SexyPotatoe
Messages postés
11
Date d'inscription
mercredi 6 mai 2015
Statut
Membre
Dernière intervention
16 juin 2015
12 mai 2015 à 09:35
12 mai 2015 à 09:35
Bonjour à tous,
Après essai de vos manipulations, je me rends compte que le problème n'est, hélas, pas résolu. Il me reste toujours des doublons.
Le problème vient toujours de la sélection du combustible ayant la plus grande puissance si un ID se répète.
des idées ? Il me faudrait juste cette manipulation et tout serait résolu.
Je vais tenter de faire un schéma succinct mais efficace de ce que je souhaiterais obtenir, histoire que vous ayez une meilleure idée de l'objectif à atteindre :
J'ai, par exemple :
ID | Puissance | Combustible
1 100 Mazout
2 150 Gaz
3 200 Bois
3 300 Mazout
4 20 Solaire
4 100 Fioul
5 100 Mazout
5 500 Gaz
5 40 Solaire
Je souhaite obtenir :
ID | Puissance Totale | Combustible Principal
1 100 Mazout
2 150 Gaz
3 500 Mazout
4 120 Fioul
5 640 Gaz
Je rappelle que :
La puissance totale est la somme de la puissance de toutes les chaudières installées pour un même ID ;
Le combustible principale est le combustible qui génère la plus grande puissance.
Merci par avance de votre coopération...
Après essai de vos manipulations, je me rends compte que le problème n'est, hélas, pas résolu. Il me reste toujours des doublons.
Le problème vient toujours de la sélection du combustible ayant la plus grande puissance si un ID se répète.
des idées ? Il me faudrait juste cette manipulation et tout serait résolu.
Je vais tenter de faire un schéma succinct mais efficace de ce que je souhaiterais obtenir, histoire que vous ayez une meilleure idée de l'objectif à atteindre :
J'ai, par exemple :
ID | Puissance | Combustible
1 100 Mazout
2 150 Gaz
3 200 Bois
3 300 Mazout
4 20 Solaire
4 100 Fioul
5 100 Mazout
5 500 Gaz
5 40 Solaire
Je souhaite obtenir :
ID | Puissance Totale | Combustible Principal
1 100 Mazout
2 150 Gaz
3 500 Mazout
4 120 Fioul
5 640 Gaz
Je rappelle que :
La puissance totale est la somme de la puissance de toutes les chaudières installées pour un même ID ;
Le combustible principale est le combustible qui génère la plus grande puissance.
Merci par avance de votre coopération...