Hallo,
Ik ben al een geruime tijd bezig met MySQL maar nu ben ik in MS SQL (SQL Server 2005 Express) aan het spelen.
Ik heb de volgende query voor een view uitgedacht:
Hij moet alleen de horses laten zien met een unieke id. Er is namelijk de tabel Horse en de tabel HorseVersion. Iedere wijziging wordt in de tabel HorseVersion opgeslagen zodat het complete wijzigingstraject gevolgd kan worden.
Hij geeft echter een foutmelding bij het uitvoeren van deze query waar ik weinig van snap. Namelijk:
Nu zou ik dbo.Horse.Id in mijn GROUP BY component op kunnen nemen maar dan zegt hij dat hij de volgende kolom mist. En als ik alle kolommen toevoeg heeft de GROUP BY geen zin meer...
Misschien ben ik helemaal verkeerd bezig op heb ik een volledig verkeerde insteek maar ik sta open voor kritiek. Graag zelfs!
Wie kan en wil mij helpen?
Ik ben al een geruime tijd bezig met MySQL maar nu ben ik in MS SQL (SQL Server 2005 Express) aan het spelen.
Ik heb de volgende query voor een view uitgedacht:
SQL:
1
2
3
4
5
6
7
8
9
10
11
| SELECT dbo.Horse.Id, dbo.HorseVersion.Modified, dbo.HorseVersion.Number, dbo.HorseVersion.Name, dbo.HorseSex.Name AS HorseSexName, dbo.HorseVersion.Breeding, dbo.HorseVersion.StudbookNumber, dbo.HorseVersion.StudbookName, dbo.HorseVersion.BirthDate, dbo.HorseVersion.ChipNumber, dbo.HorseType.Name AS HorseTypeName, dbo.HorseVersion.OwnersShareCosts, dbo.Owner.Name AS OwnerName, dbo.Location.Name AS LocationName, dbo.HorseVersion.StablingCosts, dbo.HorseVersion.StablingVatRate, dbo.HorseVersion.Comments FROM dbo.Horse INNER JOIN dbo.HorseType ON dbo.Horse.Id = dbo.HorseType.Id INNER JOIN dbo.HorseVersion ON dbo.Horse.Id = dbo.HorseVersion.HorseId INNER JOIN dbo.HorseSex ON dbo.HorseVersion.HorseSexId = dbo.HorseSex.Id INNER JOIN dbo.Location ON dbo.HorseVersion.LocationId = dbo.Location.Id INNER JOIN dbo.Owner ON dbo.HorseVersion.InvoiceOwnerId = dbo.Owner.Id GROUP BY dbo.HorseVersion.HorseId |
Hij moet alleen de horses laten zien met een unieke id. Er is namelijk de tabel Horse en de tabel HorseVersion. Iedere wijziging wordt in de tabel HorseVersion opgeslagen zodat het complete wijzigingstraject gevolgd kan worden.
Hij geeft echter een foutmelding bij het uitvoeren van deze query waar ik weinig van snap. Namelijk:
code:
1
2
| Msg 8120, Level 16, State 1, Line 1 De kolom dbo.Horse.Id is ongeldig in de selectielijst omdat deze niet is opgenomen in een statistische functie of de GROUP BY-component. |
Nu zou ik dbo.Horse.Id in mijn GROUP BY component op kunnen nemen maar dan zegt hij dat hij de volgende kolom mist. En als ik alle kolommen toevoeg heeft de GROUP BY geen zin meer...
Misschien ben ik helemaal verkeerd bezig op heb ik een volledig verkeerde insteek maar ik sta open voor kritiek. Graag zelfs!
Wie kan en wil mij helpen?