Erstellen Ich habe 3 Tabellen und ich brauche die drei Tabellen zu verbinden, um eine verschachtelte XML-DateiNested XML-Datei in SQL Server
Die Tische sind Veranstaltungen, UserEvents und Benutzer zu erstellen. Hier ist ein Beispiel-Schema: (! Oder etwas in diese Richtung)
create table [dbo].[Users]
(
UserID int,
Username VARCHAR(MAX)
);
insert into [dbo].[Users] (UserID, Username) values
(155, 'jweldz'),
(218, 'pwarner'),
(310, 'jeffrey')
create table dbo.Events
(
[Id] [int] IDENTITY(1,1) NOT NULL,
[UserId] [int] NULL,
[Title] [nvarchar](250) NOT NULL,
[EventStart] [datetime] NOT NULL,
);
SET IDENTITY_INSERT [Events] ON
INSERT INTO [dbo].[Events] ([Id], [UserId], [Title], [EventStart])
VALUES (3409, NULL, 'Boxing Match', '2014-10-05 00:00:00.000')
create table dbo.UserEvents
(
UserID int,
EventID int,
);
INSERT INTO [dbo].[UserEvents] ([UserID], [EventID]) VALUES (155, 3409), (218, 3409), (310, 3409)
dieses Schema verwenden würde Ich mag eine verschachtelte XML-Ausgabe in folgendem Format erstellen in SQL Server 2014 für jeden Benutzer in einem Ereignis wird ein Ereignis-Tag aufgeführt:
<EventList>
<Event eventid="3409">
<Title>Boxing Match</Title>
<Player>
<UserID>155</UserID>
<Username>jweldz</Username>
<UserID>218</UserID>
<Username>pwarner</Username>
<UserID>310</UserID>
<Username>jeffrey</Username>
</Player>
<EventStart>2016-04-16T09:00:00</EventStart>
</Event>
</EventList>
Aber stattdessen erhalte ich:
<EventList>
<Event eventid="3409">
<Title>Boxing Match</Title>
<Player>
<UserID>155</UserID>
<Username>jweldz</Username>
</Player>
<EventStart>2016-04-16T09:00:00</EventStart>
</Event>
<Event eventid="3409">
<Title>Boxing Match</Title>
<Player>
<UserID>218</UserID>
<Username>pwarner</Username>
</Player>
<EventStart>2016-04-16T09:00:00</EventStart>
</Event>
</EventList>
....
Das Ereignis wird jedes Mal wiederholt, wenn ein neuer Spieler vorhanden ist, aber das ist nicht ideal. Wie kann ich die Player mithilfe von SQL Server 2014 in einem Ereignis-Tag verschachteln?
Große Frage bekommen! Beispielcode, Geige, erwartete Ausgabe, tatsächliche Ausgabe. +1 von meiner Seite – Shnugo