[SQL] requête : obtenir le total
Résolu/Fermé
Riwalenn
Messages postés
364
Date d'inscription
jeudi 25 août 2005
Statut
Membre
Dernière intervention
16 février 2015
-
15 sept. 2006 à 17:49
Riwalenn Messages postés 364 Date d'inscription jeudi 25 août 2005 Statut Membre Dernière intervention 16 février 2015 - 26 sept. 2006 à 10:18
Riwalenn Messages postés 364 Date d'inscription jeudi 25 août 2005 Statut Membre Dernière intervention 16 février 2015 - 26 sept. 2006 à 10:18
A voir également:
- [SQL] requête : obtenir le total
- 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
phunk
Messages postés
498
Date d'inscription
lundi 31 juillet 2006
Statut
Membre
Dernière intervention
30 novembre 2006
193
25 sept. 2006 à 17:49
25 sept. 2006 à 17:49
Salut ! l'erreur vient de ta requête :
Enlève "Stock.Quantity" du group by.
Tu dois faire un group by sur tous les autres champs, mais pas sur le champ aggrégé.
Essayes de tester ta requête, ça devrait passer beaucoup mieux :)
SELECT Products.ProductName, Products.ProductDesc, Products.type, Stock.Quality, SUM(Stock.Quantity) FROM Products, Stock where Products.ProductName=Stock.ProductName and Products.Type <> 'S' Group by Products.ProductName, Products.ProductDesc, Products.type, Stock.Quality, Stock.Quantity
Enlève "Stock.Quantity" du group by.
Tu dois faire un group by sur tous les autres champs, mais pas sur le champ aggrégé.
Essayes de tester ta requête, ça devrait passer beaucoup mieux :)
Maxg59
Messages postés
275
Date d'inscription
vendredi 13 mai 2005
Statut
Membre
Dernière intervention
7 octobre 2006
27
15 sept. 2006 à 21:34
15 sept. 2006 à 21:34
salut !
C'est quoi comme erreur que tu as ?
C'est quoi comme erreur que tu as ?
michelatoutfox
Messages postés
828
Date d'inscription
mardi 5 octobre 2004
Statut
Membre
Dernière intervention
7 mai 2013
5
19 sept. 2006 à 20:46
19 sept. 2006 à 20:46
selon la norme SQL92, ta requète devrait s'écrire ainsi:
SELECT Products.ProductName, Products.ProductDesc, Products.type, Stock.Quality, sum(stock.quantity) FROM Products, Stock where Products.ProductName=Stock.ProductName and Products.Type <> 'S'
Group by Products.ProductName, Products.ProductDesc, Products.type, Stock.Quality order by Products.ProductName, Products.Type
en bref, tu as oublié ton champ d'agrégation (le SUM) ; alors sur quoi veux-tu que ton moteur SQL fasse un regroupement (le group by) ?
si possible, préfères une clause JOIN à une clause WHERE, elle sera plus rapide à l'exécution
SELECT Products.ProductName, Products.ProductDesc, Products.type, Stock.Quality, sum(stock.quantity) FROM Products, Stock where Products.ProductName=Stock.ProductName and Products.Type <> 'S'
Group by Products.ProductName, Products.ProductDesc, Products.type, Stock.Quality order by Products.ProductName, Products.Type
en bref, tu as oublié ton champ d'agrégation (le SUM) ; alors sur quoi veux-tu que ton moteur SQL fasse un regroupement (le group by) ?
si possible, préfères une clause JOIN à une clause WHERE, elle sera plus rapide à l'exécution
Riwalenn
Messages postés
364
Date d'inscription
jeudi 25 août 2005
Statut
Membre
Dernière intervention
16 février 2015
101
25 sept. 2006 à 17:41
25 sept. 2006 à 17:41
bonjour,
si je fais ce que tu me dis (chose que j'avais déjà essayé, c'est d'ailleurs pour ça que je demande de l'aide)
en rajoutant donc le code suivant :
j'ai l'erreur suivante :
Warning: odbc_result(): Field Quantity not found in c:\program files\easyphp1-8\www\eurosource-intranet\references\print_stock.php on line 43
la ligne 43 étant :
Merci de m'aider SVP...
si je fais ce que tu me dis (chose que j'avais déjà essayé, c'est d'ailleurs pour ça que je demande de l'aide)
<? $sqlconnect=odbc_connect($dsn,$username,$password); $sqlquery="SELECT Products.ProductName, Products.ProductDesc, Products.type, Stock.Quality, SUM(Stock.Quantity) FROM Products, Stock where Products.ProductName=Stock.ProductName and Products.Type <> 'S' Group by Products.ProductName, Products.ProductDesc, Products.type, Stock.Quality, Stock.Quantity order by Products.ProductName, Products.Type ;" or die (mysql_error()); $process=odbc_exec($sqlconnect, $sqlquery); ?>
en rajoutant donc le code suivant :
<?php while(odbc_fetch_row($process)){ $ProductName = odbc_result($process,"ProductName"); $ProductDesc = odbc_result($process,"ProductDesc"); $Type = odbc_result($process,"Type"); $Quality = odbc_result($process,"Quality"); $Quantity = odbc_result($process,"Quantity"); ?> <tr class="tab05"> <td><?php echo $ProductName ; ?></td> <td><?php echo $ProductDesc ; ?></td> <td><div align="center"><?php echo $Quality ; ?></div></td> <td><div align="center"><?php echo $Quantity ; ?></div></td> <td><div align="center"><?php echo $Type ; ?></div></td> </tr><?php }odbc_close($sqlconnect); ?>
j'ai l'erreur suivante :
Warning: odbc_result(): Field Quantity not found in c:\program files\easyphp1-8\www\eurosource-intranet\references\print_stock.php on line 43
la ligne 43 étant :
<?php while(odbc_fetch_row($process)){ $ProductName = odbc_result($process,"ProductName"); $ProductDesc = odbc_result($process,"ProductDesc"); $Type = odbc_result($process,"Type"); $Quality = odbc_result($process,"Quality"); $Quantity = odbc_result($process,"Quantity"); ?>
Merci de m'aider SVP...
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Riwalenn
Messages postés
364
Date d'inscription
jeudi 25 août 2005
Statut
Membre
Dernière intervention
16 février 2015
101
26 sept. 2006 à 10:18
26 sept. 2006 à 10:18
merci merci beaucoup :))) c'est bon j'ai enfin ce que je veux lol