• I had to change few things but try this:

    create table #groupings (

    ID int,

    EventName varchar(255),

    Venue varchar(255),

    EventDate datetime

    )

    insert into #groupings

    select 1,'Football','Arena','2013-10-04 09:58:42.670'

    UNion

    select 2,'Football','Arena','2013-10-04 09:58:42.670'

    union

    select 3,'Football','Arena','2013-10-04 10:45:42.670'

    union

    select 4,'Football','Arena','2013-10-04 09:58:42.670'

    union

    select 1,'Soccer','Field','2013-10-04 09:58:42.670'

    union

    select 2,'Soccer','Field','2013-10-04 09:38:42.670'

    union

    select 3,'Soccer','Field','2013-10-04 09:58:42.670'

    union

    select 4,'Soccer','Field','2013-10-04 09:28:42.670'

    select EventName, Venue, min(EventDate),

    substring((select ',' + cast(ID as varchar)

    from #groupings g1

    where g1.EventName= g2.EventName

    order by g1.EventName

    for xml path ('')),2, 1000) [Students]

    from #groupings g2

    group by EventName, Venue