Advertisement
Guest User

Untitled

a guest
Oct 22nd, 2016
59
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.74 KB | None | 0 0
  1. INSERT INTO DAT_Detail (DAT_Detail_ID, XMLDetaildata) VALUES ('629E4F85-098D-418B-BF2E-63648DCF60ED', '<NewDataSet><DetailTest_A10><TestValue1>1321</TestValue1><TestValue2>142</TestValue2><TestValue3>153</TestValue3><TestValue4>1645</TestValue4><TestValue5>1123</TestValue5><TestValue6>114</TestValue6><TestValue7>1253</TestValue7></DetailTest_A10></NewDataSet>');
  2. INSERT INTO DAT_Detail (DAT_Detail_ID, XMLDetaildata) VALUES ('9B30DDAF-0733-4D0D-BCBD-54DA3B56C8F9', '<NewDataSet><DetailTest_A10><TestValue1>2321</TestValue1><TestValue2>242</TestValue2><TestValue3>253</TestValue3><TestValue4>2645</TestValue4><TestValue5>2123</TestValue5><TestValue6>214</TestValue6><TestValue7>2253</TestValue7></DetailTest_A10></NewDataSet>');
  3. INSERT INTO DAT_Detail (DAT_Detail_ID, XMLDetaildata) VALUES ('E647B9FB-7B96-440A-ADCB-300F8DEA4BF1', '<NewDataSet><DetailTest_A10><TestValue1>3321</TestValue1><TestValue2>342</TestValue2><TestValue3>353</TestValue3><TestValue4>3645</TestValue4><TestValue5>3123</TestValue5><TestValue6>314</TestValue6><TestValue7>3253</TestValue7></DetailTest_A10></NewDataSet>');
  4. INSERT INTO DAT_Detail (DAT_Detail_ID, XMLDetaildata) VALUES ('50041AE4-BE73-4281-A36E-7448F6F35E03', '<NewDataSet><DetailTest_A10><TestValue1>4321</TestValue1><TestValue2>442</TestValue2><TestValue3>453</TestValue3><TestValue4>4645</TestValue4><TestValue5>4123</TestValue5><TestValue6>414</TestValue6><TestValue7>4253</TestValue7></DetailTest_A10></NewDataSet>');
  5. INSERT INTO DAT_Detail (DAT_Detail_ID, XMLDetaildata) VALUES ('87AE23BA-41DE-4C1E-BA4E-37E7C3419FE3', '<NewDataSet><DetailTest_A10><TestValue1>5321</TestValue1><TestValue2>542</TestValue2><TestValue3>553</TestValue3><TestValue4>5645</TestValue4><TestValue5>5123</TestValue5><TestValue6>514</TestValue6><TestValue7>5253</TestValue7></DetailTest_A10></NewDataSet>');
  6. INSERT INTO DAT_Detail (DAT_Detail_ID, XMLDetaildata) VALUES ('9AAEA106-35C9-40B8-B0D5-7CA7F59E5D90', '<NewDataSet><DetailTest_A10><TestValue1>6321</TestValue1><TestValue2>642</TestValue2><TestValue3>653</TestValue3><TestValue4>6645</TestValue4><TestValue5>6123</TestValue5><TestValue6>614</TestValue6><TestValue7>6253</TestValue7></DetailTest_A10></NewDataSet>');
  7.  
  8. DECLARE @XML AS XML
  9. DECLARE @hDoc AS INT
  10.  
  11. SELECT @XML = XMLDetaildata FROM DAT_Detail WHERE DAT_Detail_ID = '9B30DDAF-0733-4D0D-BCBD-54DA3B56C8F9'
  12. EXEC sp_xml_preparedocument @hDoc OUTPUT, @XML
  13.  
  14. SELECT *
  15. FROM OPENXML(@hDoc, 'NewDataSet/DetailTest_A10')
  16. WITH
  17. (
  18. TestValue1 [int] 'TestValue1',
  19. TestValue2 [int] 'TestValue2',
  20. TestValue3 [int] 'TestValue3',
  21. TestValue4 [int] 'TestValue4',
  22. TestValue5 [int] 'TestValue5',
  23. TestValue6 [int] 'TestValue6',
  24. TestValue7 [int] 'TestValue7'
  25. )
  26.  
  27. EXEC sp_xml_removedocument @hDoc
  28.  
  29. TestValue1 TestValue2 TestValue3 TestValue4 TestValue5 TestValue6 TestValue7
  30. 2321 242 253 2645 2123 214 2253
  31.  
  32. SELECT @XML = XMLDetaildata FROM DAT_Detail WHERE DAT_Detail_ID IN ( '9B30DDAF-0733-4D0D-BCBD-54DA3B56C8F9', '50041AE4-BE73-4281-A36E-7448F6F35E03')
  33.  
  34. TestValue1 TestValue2 TestValue3 TestValue4 TestValue5 TestValue6 TestValue7
  35. 2321 242 253 2645 2123 214 2253
  36. 4321 442 453 4645 4123 414 4253
  37.  
  38. Select B.*
  39. From Dat_Detail A
  40. Cross Apply (
  41. Select TestValue1 = B.value('TestValue1[1]','int')
  42. ,TestValue2 = B.value('TestValue2[1]','int')
  43. ,TestValue3 = B.value('TestValue3[1]','int')
  44. ,TestValue4 = B.value('TestValue4[1]','int')
  45. ,TestValue5 = B.value('TestValue5[1]','int')
  46. ,TestValue6 = B.value('TestValue6[1]','int')
  47. ,TestValue7 = B.value('TestValue7[1]','int')
  48. From XMLDetaildata.nodes('/NewDataSet') AS A(Grp)
  49. Cross Apply A.Grp.nodes('DetailTest_A10') AS B(B)
  50. ) B
  51. Where DAT_Detail_ID IN ( '9B30DDAF-0733-4D0D-BCBD-54DA3B56C8F9', '50041AE4-BE73-4281-A36E-7448F6F35E03')
  52.  
  53. SELECT TestValue1,
  54. TestValue2,
  55. TestValue3,
  56. TestValue4,
  57. TestValue5,
  58. TestValue6,
  59. TestValue7
  60. FROM (
  61. SELECT dd.DAT_Detail_ID,
  62. CAST(t.c.query('local-name(.)') as nvarchar(max)) as [Columns],
  63. t.c.value('.','nvarchar(max)') as [Values]
  64. FROM DAT_Detail dd
  65. CROSS APPLY XMLDetaildata.nodes('/NewDataSet/DetailTest_A10/*') as t(c)
  66. WHERE dd.DAT_Detail_ID IN (
  67. '9B30DDAF-0733-4D0D-BCBD-54DA3B56C8F9',
  68. '50041AE4-BE73-4281-A36E-7448F6F35E03')
  69. ) t
  70. PIVOT (
  71. MAX([Values]) FOR [Columns] IN (TestValue1,TestValue2,TestValue3,TestValue4,TestValue5,TestValue6,TestValue7)
  72. ) as pvt
  73.  
  74. TestValue1 TestValue2 TestValue3 TestValue4 TestValue5 TestValue6 TestValue7
  75. 4321 442 453 4645 4123 414 4253
  76. 2321 242 253 2645 2123 214 2253
  77.  
  78. SELECT t.c.value('(*)[1]','nvarchar(max)') as TestValue1,
  79. t.c.value('(*)[2]','nvarchar(max)') as TestValue2,
  80. t.c.value('(*)[3]','nvarchar(max)') as TestValue3,
  81. t.c.value('(*)[4]','nvarchar(max)') as TestValue4,
  82. t.c.value('(*)[5]','nvarchar(max)') as TestValue5,
  83. t.c.value('(*)[6]','nvarchar(max)') as TestValue6,
  84. t.c.value('(*)[7]','nvarchar(max)') as TestValue7
  85. FROM DAT_Detail dd
  86. CROSS APPLY XMLDetaildata.nodes('/NewDataSet/DetailTest_A10') as t(c)
  87. WHERE dd.DAT_Detail_ID IN (
  88. '9B30DDAF-0733-4D0D-BCBD-54DA3B56C8F9',
  89. '50041AE4-BE73-4281-A36E-7448F6F35E03')
  90.  
  91. SELECT n.x.value('TestValue1[1]', 'INT') as TestValue1, n.x.value('TestValue2[1]', 'INT') as TestValue2 --, ...
  92. FROM DAT_Detail
  93. CROSS APPLY XMLDetaildata.nodes('/NewDataSet/DetailTest_A10') n(x)
  94. WHERE DAT_Detail_ID IN ('9B30DDAF-0733-4D0D-BCBD-54DA3B56C8F9', '50041AE4-BE73-4281-A36E-7448F6F35E03')
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement