Ich habe diese Tabelle in meiner SQL Server-Datenbank.GROUP BY Fehler mit TOP in T-SQL/SQL Server
CREATE TABLE [dbo].[CODIFICHE_FARMACI]
(
[Principio_Attivo] [nvarchar](250) NULL,
[LanguageID] [nvarchar](50) NOT NULL,
[Codice] [nvarchar](50) NOT NULL,
[Confezione_rif] [nvarchar](1000) NULL,
[ATC] [nvarchar](100) NULL,
[Farmaco] [nvarchar](1000) NULL,
[Confezione] [nvarchar](1000) NULL,
[Ditta] [nvarchar](100) NULL,
CONSTRAINT [PK_CODIFICHE_FARMACI]
PRIMARY KEY CLUSTERED ([LanguageID] ASC, [Codice] ASC)
)
Jetzt möchte ich aus dieser Tabelle durch Farmaco
Spalte die ersten 60 Datensatzgruppe extrahieren.
Also schrieb ich diese Anfrage:
SELECT TOP 60 *
FROM CODIFICHE_FARMACI
GROUP BY Farmaco
Aber ich habe diesen seltsamen Fehler:
La colonna 'CODIFICHE_FARMACI.Principio_Attivo' non è valida nell'elenco di selezione perché non è inclusa né in una funzione di aggregazione né nella clausola GROUP BY.
In Englisch:
The column 'CODIFICHE_FARMACI.Principio_Attivo' is invalid in the select list because it is not included in either an aggregate function or the GROUP BY clause.
EDIT: mit dieser Abfrage, ich Erhalten Sie dieses Ergebnis
Wie man sehen kann ich replizieren die Spalte Farmaco (Es gibt zwei mal ABBA, ABESART)
EDIT as result I want :
|FARMACO|
ABBA
ABESART
ABILIFY
Können Sie uns Beispieleingabe und -ausgabe zeigen? –
Alle Ihre Spalten sind nvarchar. Gruppieren nach einem Feld bedeutet, dass Sie eindeutige Werte dieses Felds und einen Summenwert für andere Felder (Summe, Durchschnitt, Minimum, Maximum) erhalten möchten. Welchen Aggregatwert möchten Sie von Nvarchar-Feldern erhalten? – ventik