Einzelne Zeile als mehrere Zeilen in SQL server ausgewählt

Ich bin kein Experte für das Schreiben von SQL-Abfragen. Ich habe derzeit eine gespeicherte Prozedur. Die gespeicherte Prozedur funktionierte gut, wenn ich den inneren Verband nicht angewendet habe. Ich habe zwei Tische.

Tabelle 1: Produkttabelle 2: Produktbeschriftung

Die gespeicherte Prozedur wurde verwendet, um die datasatzseite zu wählen. Ich habe dies durch die Beratung eines Online-Artikels erstellt. Der Körper der gespeicherten Prozedur ist unten erwähnt,

SELECT ROW_NUMBER() OVER (ORDER BY [PostedDate] Desc)AS RowNumber,[Products].[Id], [Name], [Description], [PostedDate], ISNULL(AVG([ProductRating].[RatingValue]), 0) AverageRating, COUNT([Rating].[RatingValue]) RatingCount INTO #DealResults1 FROM [Products] LEFT OUTER JOIN [Rating] ON [Product].[Id] = [Rating].[ProductId] WHERE [City] = CASE WHEN @CityId IS NULL THEN [City] ELSE @CityId END AND [Description] IS NOT NULL Group by [Products].[Id], [Name], [Description], [PostedDate], [Rating].[RatingValue] ORDER BY [PostedDate] Desc DECLARE @RecordCount1 INT SELECT @RecordCount1 = COUNT(*) FROM #ProductResults1 SET @PageCount = CEILING(CAST(@RecordCount1 AS DECIMAL(10, 2)) / CAST(@PageSize AS DECIMAL(10, 2))) PRINT @PageCount SELECT * FROM #ProductResults1 WHERE RowNumber BETWEEN(@PageIndex -1) * @PageSize + 1 AND(((@PageIndex -1) * @PageSize + 1) + @PageSize) - 1 DROP TABLE #ProductResults1 

Jetzt gebe ich zu, dass ich sehr arm bin, wenn es darum geht, sich anzuschließen und ich verstehe die Gruppe nie ganz.

Problem Statement: Wenn der Benutzer ein Produkt bewerten, wird jedes Mal ein datasatz in der Bewertungstabelle eingefügt. Nun, wenn der Benutzer Produkt 1 dreimal dann Produkt wird dreimal ausgewählt. Manchmal zwei mal Ich verstehe dieses Problem nicht. Bitte helfen Sie mir dabei.

Gruppe nur durch Spalten aus der Produkttabelle. Du fügst [Rating] [RatingValue] in der Gruppe vor. Beispiel:

 Group by [Products].[Id], [Name], [Description], [PostedDate]