J'ai calculé un chiffre quotidien qui rassemble tous les chiffres entrés dans chaque nom, donc j'ai des lignes en double sous chaque nom. Je veux que les résultats montrent seulement un résultat par utilisateur donc j'ai pensé qu'il était préférable d'utiliser distinct. Cependant, j'ai également besoin d'afficher les résultats par chiffre décroissant. Est-ce possible de faire dans la même déclaration?ORDER BY et DISTINCT dans la même instruction select
SELECT DISTINCT
D.DATE,
COALESCE(M.[Team ADJ],D.[Team ADJ], M.[Name]) AS 'Sales Person',
COALESCE(D.[Team], M.[Team]) AS 'Sales Team',
isnull(D.[Daily Figure],0) AS [Daily Figure],
FROM
[Daily] D
FULL OUTER JOIN
[Month] M ON D.[Name] = F.[Name]
ORDER BY [Daily Figure] DESC
résultats actuels
Date Sales Person Sales Team Daily Figure Month
2017-09-19 FRED SAM 20 285
2017-09-19 FRED SAM 20 285
2017-09-19 FRED SAM 20 285
2017-09-19 TOM BEN 140 118
2017-09-19 TOM BEN 140 118
ERREUR: 'ORDER BY articles doit apparaître dans la liste de sélection est spécifiée si SELECT DISTINCT.' Même si je l'ai inclus dans la liste de sélection
Pourquoi y a-t-il une colonne 'Date' dans vos résultats alors qu'il n'y en a pas dans votre' SELECT'? Sinon, votre requête devrait fonctionner correctement. –
Si vous vous joignez uniquement par nom, vous obtiendriez, par exemple, 3 enregistrements 'Month' et 90' Daily' un résultat de 270 lignes pour ce seul nom. Est-ce que c'est prévu? S'il vous plaît pensez à ce que vous voulez voir dans vos résultats. Un enregistrement par nom et mois? Un enregistrement par nom et par jour? Un enregistrement par nom? Quelles sont les colonnes 'Date',' Daily Figure' et 'Month' censées contenir? –
"Je veux DISTINCT mais ..." est généralement un indice que vous devriez chercher a) pourquoi vous obtenez des résultats en double et/ou b) si vous avez réellement besoin de "GROUP BY" et agrégats à la place. Pour le moment, je ne sais pas si c'est une situation plus (a) ou (b). –