Please start any new threads on our new
site at https://forums.sqlteam.com. We've got lots of great SQL Server
experts to answer whatever question you can come up with.
| Author |
Topic |
|
jyothi_jayanth
Starting Member
7 Posts |
Posted - 2010-07-13 : 22:41:18
|
| here is the XMLset @inXML= '<UploadCategoryDetail CategoryName="Reservations"> <CategoryColumns> <CategoryColumn ColumnName="DocumentID" Value="" /> <CategoryColumn ColumnName="DocumentFileName" Value="Invoice.pdf" /> <CategoryColumn ColumnName="DocumentFilePath" Value="\2009\November\3\15abb3a2-1ba2-4385-b41c-8a05dacfb9ca.pdf" /> </CategoryColumns></UploadCategoryDetail>'i want into insert into table as followsselect DocumentID,DocumentFilename,DocumentFilePath from @XMLTempTableThanksJayanthu Babu gadde |
|
|
SwePeso
Patron Saint of Lost Yaks
30421 Posts |
Posted - 2010-07-14 : 03:21:38
|
[code]declare @inXML XMLset @inXML= '<UploadCategoryDetail CategoryName="Reservations"> <CategoryColumns> <CategoryColumn ColumnName="DocumentID" Value="" /> <CategoryColumn ColumnName="DocumentFileName" Value="Invoice.pdf" /> <CategoryColumn ColumnName="DocumentFilePath" Value="\2009\November\3\15abb3a2-1ba2-4385-b41c-8a05dacfb9ca.pdf" /> </CategoryColumns></UploadCategoryDetail>'-- Display the result from a variableSELECT MAX(CASE WHEN n.value('@ColumnName', 'VARCHAR(MAX)') = 'DocumentID' THEN n.value('@Value', 'VARCHAR(MAX)') ELSE NULL END) AS DocumentID, MAX(CASE WHEN n.value('@ColumnName', 'VARCHAR(MAX)') = 'DocumentFilename' THEN n.value('@Value', 'VARCHAR(MAX)') ELSE NULL END) AS DocumentFilename, MAX(CASE WHEN n.value('@ColumnName', 'VARCHAR(MAX)') = 'DocumentFilePath' THEN n.value('@Value', 'VARCHAR(MAX)') ELSE NULL END) AS DocumentFilePathFROM @inXML.nodes('/UploadCategoryDetail/CategoryColumns/CategoryColumn') AS a(n)DECLARE @XMLTempTable TABLE ( RowID INT, inXML XML )INSERT @XMLTempTableSELECT 1, @inXML-- Display the result from a tableSELECT MAX(CASE WHEN n.value('@ColumnName', 'VARCHAR(MAX)') = 'DocumentID' THEN n.value('@Value', 'VARCHAR(MAX)') ELSE NULL END) AS DocumentID, MAX(CASE WHEN n.value('@ColumnName', 'VARCHAR(MAX)') = 'DocumentFilename' THEN n.value('@Value', 'VARCHAR(MAX)') ELSE NULL END) AS DocumentFilename, MAX(CASE WHEN n.value('@ColumnName', 'VARCHAR(MAX)') = 'DocumentFilePath' THEN n.value('@Value', 'VARCHAR(MAX)') ELSE NULL END) AS DocumentFilePathFROM @XMLTempTable AS fCROSS APPLY f.inXML.nodes('/UploadCategoryDetail/CategoryColumns/CategoryColumn') AS a(n)WHERE f.RowID = 1[/code] N 56°04'39.26"E 12°55'05.63" |
 |
|
|
|
|
|
|
|