MSSQL : Behöver hjälp med en query
Postat: 27 mars 2015, 04:38:43
Jag har använt en query-byggare för att ta fram en rapport från en databas till ett Aptus inpasseringsystem. Nu vill jag lägga till en kolumn för antal inpasseringar per användare men jag vet inte hur jag ska göra eftersom det inte är en existerande kolumn i databasen.
Det jag vill ha är (antalet rader från tabellen Event där Event.UserID = Users.Id och Event.eventNo = 2) som en egen kolumn.
Här är queryn jag har nu
Enligt det jag hittar på google ska man kunna göra det med union men jag är väldigt dålig på SQL så jag klarar inte att lösa det själv.
Jag testade lägga till "Union Select Count(*) As Antal_Passeringar From Event Where Event.UserID = Users.Id And Event.eventNo = 2" men då får jag felet "The multi-part identifier "Users.Id" could not be bound"
Det jag vill ha är (antalet rader från tabellen Event där Event.UserID = Users.Id och Event.eventNo = 2) som en egen kolumn.
Här är queryn jag har nu
Kod: Markera allt
Select Distinct
Users.Name As Namn,
Users.Blocked As Spärrad,
Event.CreatedTime As Senaste_Passering,
Users.Start As StartDatum,
Users.Stop As StopDatum,
Users.Card As TaggNummer,
Users.CardLabel As Taggmärkning,
TimeZone.Name As Tidzon,
AuthorityInUser.start As Tidzon_StartDatum,
AuthorityInUser.stop As Tidzon_StopDatum
From
Users Inner Join
Event On Event.UserID = Users.Id Inner Join
AuthorityInUser On AuthorityInUser.UserId = Users.Id Inner Join
Authority On Authority.Id = AuthorityInUser.AuthorityId Inner Join
TzInAuth On TzInAuth.AuthorityId = Authority.Id Inner Join
TimeZone On TzInAuth.TimezoneId = TimeZone.Id
Where
(Event.CreatedTime) In (Select
Max(Event.CreatedTime)
From
Event
Where
Event.UserID = Users.Id And
Event.eventNo = 2) And
AuthorityInUser.removedDate Is Null
Order By
Tidzon,
Namn
Jag testade lägga till "Union Select Count(*) As Antal_Passeringar From Event Where Event.UserID = Users.Id And Event.eventNo = 2" men då får jag felet "The multi-part identifier "Users.Id" could not be bound"