Ho questa struttura tabella. YearPart, MonthPart e DatePart contengono ciò che essi descrivono ... EX: 2011, 1, 19 (rispettivamente)SQL "Per percorso XML" - risultati nidificati
DECLARE @agenda AS TABLE (
PID INT IDENTITY(1,1) PRIMARY KEY,
YearPart int,
MonthPart int,
DayPart int,
lib_title nvarchar(200),
[filename] nvarchar(255),
meta_value nvarchar(2000)
)
Utilizzando questi dati di esempio:
INSERT INTO @agenda VALUES (2010, 12, 4, 'Test Record', '', '')
INSERT INTO @agenda VALUES (2011, 1, 3, 'Another Record', '', '')
INSERT INTO @agenda VALUES (2011, 1, 3, 'Fred Birthday', '', '')
INSERT INTO @agenda VALUES (2011, 1, 4, 'Work Day', '', '')
INSERT INTO @agenda VALUES (2011, 12, 6, '2nd Test Record', '', '')
Quello che voglio, è un output XML come this:
<root>
<Year Year="2010">
<Month Month="12">
<Day Day="4">
<Item RecordName="Test Record" RecordID="1" />
</Day>
</Month>
</Year>
<Year Year="2011">
<Month Month="1">
<Day Day="3">
<Item RecordName="Another Record" RecordID="2" />
<Item RecordName="Geoffrey Birthday" RecordID="3" />
</Day>
<Day Day="4">
<Item RecordName="Work Day" RecordID="4" />
</Day>
</Month>
<Month Month="12">
<Day Day="6">
<Item RecordName="2nd Test Record" RecordID="5" />
</Day>
</Month>
</Year>
</root>
Finora, non sono stato in grado di far funzionare correttamente il nesting. Di solito finisco con il raggruppamento (ad esempio, ottengo più elementi Anno = 2011, quando dovrebbe essercene solo uno).
Se ciò non può essere fatto, posso sempre creare il XML sul sito .NET ...
Eccellente! Sapevo di essere vicino ... Ho sbagliato i miei gruppi ... grazie a Mikael ... fa esattamente quello di cui avevo bisogno. –