Umgang mit XML-datatyp (SQL SERVER 2005)

Ich habe einen Tisch mit 2 Spalten EmployeeId (int) und EmployeeDetails (XMl Typ)

EmployeeId EmployeeDetails

1 <Angestellter> <AngestellterDetails> <EmployeeName> Priyanka </ EmployeeName> <Alter> 24 </ Alter> <Adresse> Argentinien </ Adresse> </ EmployeeDetails> </ Employee>

2 <Angestellter> <EmployeeDetails> <EmployeeName> Sarkar </ EmployeeName> <Alter> 28 </ Alter> <Adresse> Australien </ Adresse> </ EmployeeDetails> </ Employee>

Ich muss die Ausgabe wie

EmployeeId EmpName Altersadresse


1 Priyanka 24 Argentinien

2 Sarkar 28 Australien

Bitte helfen, wie ich bin neu in xml

Books Online ist ein bisschen unentzifferbar zum Thema XML; Vielleicht möchten Sie diese Seite für Hilfe ausprobieren: http://blogs.msdn.com/mrorke/archive/2005/06/01/423965.aspx Hier ist ein Schnipsel von Code, um Ihnen zu helfen.

DECLARE @Employees TABLE ( EmployeeID INT , EmployeeDetails XML ) INSERT INTO @Employees ( EmployeeID , EmployeeDetails ) VALUES ( 1 , '<Employee><EmployeeDetails><EmployeeName> Priyanka </EmployeeName><Age> 24 </Age><Address> Argentina</Address></EmployeeDetails></Employee>' ) INSERT INTO @Employees ( EmployeeID , EmployeeDetails ) VALUES ( 2 , '<Employee><EmployeeDetails><EmployeeName> Sarkar </EmployeeName><Age> 28 </Age><Address> Australia</Address></EmployeeDetails></Employee>' ) SELECT EmployeeID , EmployeeName = m.value('EmployeeName[1]', 'varchar(50)') , Age = m.value('Age[1]', 'int') , Address = m.value('Address[1]', 'varchar(100)') FROM @Employees e CROSS APPLY EmployeeDetails.nodes('/Employee/EmployeeDetails') AS e1 ( m )