J'ai une vue qui contient (entre autres colonnes) un en-tête "nom", et une colonne "évaluation" d'article. La vue joint l'en-tête à la table d'éléments, de sorte que la colonne de nom de l'en-tête est répétée pour chaque élément.requête sql pour un rapport
Je dois exécuter un rapport sur la table; idéalement, j'aurais 5 colonnes dans le résultat sql; l'en-tête "nom", et 4 copies de la colonne "notation", où chaque copie de la colonne de notation montre le nombre de notes qui dépassent un certain seuil. Donc, la colonne de notation # 1 montrera le nombre d'articles dans la table (pour l'en-tête de l'article) qui ont une note de 1 ou plus, la deuxième colonne indiquera le nombre d'articles dans le tableau avoir une note de 5 ou plus, et ainsi de suite.
Je sais comment obtenir le nom et 1 colonne Évaluation retour:
select name, count(rating) as cnt1 from myview where rating > 1 group by name
mais combinant cela avec les autres colonnes de notation souhaitées me manque à l'heure actuelle. J'ai essayé d'utiliser une clause "union", mais cela met simplement plusieurs lignes dans la liste des résultats. Une exigence absolue (la requête doit se brancher sur un modèle de rapport, donc c'est très rigide) est que j'ai seulement une ligne retournée pour chaque champ "nom" unique dans la vue, sinon l'objet de rapport qui va lire le les données ne sauront pas comment interpréter les résultats.
Des conseils?
Mise à jour Voici quelques exemples de données:
name, rating
myname1, 1
myname1, 1
myname1, 10
myname1, 4
myname1, 7
myname1, 3
myname1, 5
myname1, 5
myname1, 4
myname2, 2
myname2, 10
myname2, 6
myname2, 8
myname2, 5
myname2, 4
myname2, 6
Et la sortie désirée:
name, cnt1, cnt5, cnt7, cnt8
myname1, 7, 2, 1, 1
myname2, 7, 4, 2, 1
... où CNT1 => Note 1, cnt5 => Note 5, cnt7 = note > 7, cnt8 => note 8
@ user85116, Pouvez-vous poster une mise en page sous forme de tableau de vos données et ce que vous voulez sortir? – Brad
Utilisez une somme (nombre (évaluation))? – Emerion