dans SQL Server, j'essaie de regrouper par chaque personne de vente quelques infos comme suit:
J'ai 2 tables: positions et clients P>
dans la table des positions, j'ai les colonnes suivantes: client_id , Balance, Acquisition_cost et dans la table des clients J'utilise les colonnes suivantes: Client_id et Sales_Person. P>
Je veux grouper par Sales_Person (table des clients) The Client_Id, Solde, Acquisition_Cost (Table des positions) P>
J'ai essayé ceci: p> Ça me donne "position.Client_ID est invalide dans la liste Sélectionner car il n'est pas contenu dans une fonction globale ou le groupe par clause ". P> Je précise que je suis assez nouveau sur SQL afin que cela ne sonne pas beaucoup une cloche à moi. p> p>
4 Réponses :
Pour toute colonne de votre si vous voulez seulement que les totaux de vente_person et non client_id, vous pouvez simplement supprimer client_id à partir du code Sélectionnez CODE> que vous n'incluez pas dans le groupe
par code>, vous devez utiliser une sorte de fonction agrégée (
max max code>,
somme code>, etc.) sur la colonne. Donc, vous pourriez l'écrire comme ceci:
SELECT code> et
et
et
et
Groupe par code>: p>
Vous devez ajouter des positions.Client_ID dans la clause du groupe par clause, car la sélection attend cette colonne si vous ne voulez vraiment pas de position.Client_id dans la sélection, alors pas besoin d'ajouter dans le groupe par clause p>
SELECT a.Client_ID, b.Sales_person, SUM(a.Balance) as Balance_Sum,SUM(a.Acquisition_cost) as Acquisition_Cost_Sum FROM Positions as a INNER JOIN Clients as b ON a.Client_ID = b.Client_ID GROUP BY a.Client_ID, b.Sales_person
Bien que ce code puisse résoudre le problème, une bonne réponse doit également expliquer quel b> le code fait et comment b> contribue.
Merci à vous tous les gars, voici le code qui fonctionne pour moi dans ce cas:
Peut-être que vous voulez simplement
commander par sales_person code>?
Est-ce que cela répond à votre question? colonne " invalide dans la liste Sélectionner car il n'est pas contenu dans une fonction globale ou le groupe par clause "
Les échantillons de données et les résultats souhaités clarifieraient ce que vous voulez faire.