对于包含3个表的数据库:公司部门部门员工我想要一个像下面这样的xml:........................在公司重复(标签)的地方,公司内部的部门重复(标签),部门内部的员工重复(标签),重复我的意思是这些元素有多个而不是数据。关系Company和Department通过Department中的FK关联链接到Company表中的CompanyId的表。Department和EmployeeInDepartment通过链接到DepartmentId的EmployeeInDepartment表中的“FK”关联在Department表中。查询:在PUBS数据库上执行以下命令并检查
给定表中XML字段的以下内容:1234SMITHKEVIN123412CASE34我如何获取Person/PersonID、LastName、Firstname信息?CaseNumber也是如此。我的下一个问题与上面类似,但让我们添加第二个命名空间:Contentinhere!!Empty请注意,我在那里有2个命名空间,它们也有“:xsi”和“:xsd”。我认为这些被称为模式。 最佳答案 试试这个:DECLARE@tableTABLE(IDINTNOTNULL,XmlContentXML)INSERTINTO@tableVALUES
本质上,我正在尝试使用SQL将我拥有的XML转换为平面数据结构。我的XML采用以下格式(我已将XML更改为一个子集,以简化我的示例):1100ValueA200ValueB300ValueC1301ValueC22101ValueA200ValueB302ValueC3我正在寻找的输出如下:+---------+-----+----------+----------+|GroupId|Id|Value|ParentId|+---------+-----+----------+----------+|1|100|ValueA|NULL||1|200|ValueB|100||1|300|V
我正在尝试搜索存储在varchar(max)列中的xml数据。下面是在varchar列中找到的xml数据字符串之一的示例在这个例子中,我将有一个名为@dsName的sql变量,当它的值与@dsName匹配并且它从属于任一节点或节点时,它将与节点匹配。介于两者之间或直到您到达的节点可能会有所不同。test0falseAdminfalsefalsefalsereade-mailandapproveordenyfalsefalsetrueloblookupfalsetruetruelobComboboxlobloblookuplobfalseloblookuptrueSTRINGWhatev
按照function我已经写了它接受xml并返回table作为结果。CREATEFUNCTIONFunctionTest(@IDINT,@XML_Detailsxml)RETURNS@RESULTTABLE(Value1INT,Value2INT)ASBEGINDECLARE@tbl_Xml_ResultTable(Value1INT,Value2INT)INSERTINTO@RESULT(Value1,Value2)SELECTl.v.value('Value2[1]','INT'),l.v.value('Value1[1]','INT')FROM@XML_Details.nodes
我想使用tsql从xml文件中获取ChargeType的值。我写了脚本,但它总是为两个xml记录返回值“Principal”。我不明白哪里出了问题以及如何解决问题?脚本应返回值:ChargeTypePrincipalTaxed当前结果ChargeTypePrincipalPrincipal源代码DECLARE@xmlXML='Principal20.4RURTaxed1.23GEL';;WITHXMLNAMESPACES('http://www.test.com'asns)selectlfer.c.value('(//ns:ChargeType)[1]','nvarchar(50)')
这里有一个问题(Howtoupdateallxmlattributes'valueinanxmlvariableusingt-sql?),提问者想将一个xml变量拆分成行。我有几乎相同的问题,但我将xml存储在一个表中。每行至少存储1个xml节点,有时更多。我想将它们拆分成单独的行,但.nodes('a')似乎需要一个标量变量。这是我试过的:declare@Ttable(XMLColxml);insertinto@Tvalues(''),('');selecta.query('.')from@T.nodes('a')a(a);我想要实现的目标:我有一个这样的表:IDXML12我想把它转
我有下一个XML:SET@MyXML='FranceParisEnglandLondonSpainMadrid'我需要以这种方式从这个XML中获取数据-我设置了参数“England”并获取“London”。接下来是我的代码,但它不起作用:SELECTTab.Col.query('p/.[(Val)[1]castasxs:string?="England"]')AS[Capital]FROM@MyXML.nodes('//pairs')Tab(Col)我想念什么?谢谢! 最佳答案 您的XQuery对象构造不正确。这将得到其中有作为"E
我正在使用MicrosoftSQL服务器。我有一个简单的层次结构,如Xml中的方向图:DECLARE@XMLasXML=CAST('23413'ASXML);我想要的输出是这样的表格:SOURCE_NODE_ID|DEST_NODE_ID1|21|31|42|12|3这样的查询:SELECTB.value('data(@NODE_ID)','int')ASSOURCE_NODE_ID,A.B.value('(EDGE/text())[1]','int')ASDEST_NODE_IDFROM@XML.nodes('/ROOT/NODE')ASA(B);只返回第一条边:SOURCE_NOD
我有一个具有以下结构的表StreetNumbervarchar(50)Apartmentvarchar(50)Floorvarchar(50)我想像这样将数据转换为XML:312有什么方法可以将每一列转换为具有相同名称且仅与属性ID不同的元素? 最佳答案 您可以在列列表的子查询中创建XML,您可以在其中对表构造函数中的值进行逆透视,为每列提供一个ID。这是一个使用表变量作为数据源的示例。你当然应该改用你的table。declare@Ttable(StreetNumbervarchar(50),Apartmentvarchar(5