EDIT - Je travaille dans XAMPPErreur # 1111 - Utilisation incorrecte de la fonction de groupe
Je fais un devoir pour l'école, et c'est la base de données que je me donne:
customers(customerName, city, customerNumber)
orders(customerNumber, orderNumber)
orderdetails(orderNumber, priceEach, quantityOrdered)
et je suis en train d'interroger le nom du client qui a placé le bi ggest l'ordre par la valeur totale (priceEach * quantityOrdered), et c'est une exigence pour moi d'utiliser au moins une requête imbriquée.
Voici ce que je crois devrait être la bonne réponse:
SELECT customername
FROM orderdetails
INNER JOIN orders
on orderdetails.orderNumber = orders.orderNumber
INNER JOIN customers
on orders.customerNumber = customers.customerNumber
WHERE sum(priceEach*quantityOrdered) = (SELECT
max(sum(priceEach*quantityOrdered))
FROM orderdetails
INNER JOIN orders
on orderdetails.orderNumber = orders.orderNumber
INNER JOIN customers
on orders.customerNumber = customers.customerNumber
GROUP by orderdetails.orderNumber)
GROUP by orderdetails.orderNumber
ORDER by sum(priceEach*quantityOrdered) DESC
Cependant, quand je rentre, je reçois une erreur « # 1111 - Utilisation incorrecte de la fonction de groupe » et je ne peux pas pour la vie de moi comprendre pourquoi. Merci
EDIT - même lorsque je supprime toutes les lignes GROUP BY et ORDER BY de la requête, je reçois toujours la même erreur. I pense il a à voir avec moi en appelant «max» et «somme» dans la requête imbriquée SELECT mais je ne suis pas totalement sûr. Lors de l'utilisation de GROUP BY, tous les champs dans SELECT doivent être dans une fonction d'agrégat ou inclus dans la clause GROUP BY
du groupe extérieur par le champ devrait être également sélectionnez – maSTAShuFu
exigence Silly, parce que ce n'est pas la meilleure façon d'écrire la requête. –
ce sera un bon début .. vérifier les erreurs puis en vérifiant la logique pour le résultat souhaité: D – maSTAShuFu