草庐IT

SQL的多表查询

全部标签

xml - XPath:是否可以组合查询

考虑以下XML:1234DetailsDetailsDetails我需要做的是找到所有没有相应stepDetails的步骤。在上面的示例中,只会返回“4”节点。现在,我知道我可以通过查询所有步骤、遍历集合并为每次迭代执行另一个查询来做到这一点。我希望有一种方法可以只用一个查询来做到这一点。也许使用SQL的IN语句和子查询之类的东西。如有任何想法或提示,我们将不胜感激。谢谢,克里斯托夫 最佳答案 试试这个:/root/steps/step[not(.=/root/stepDetails/@step)]

xml - LINQ to XML 查询属性

使用LINQtoXML,这是我的XML示例如何返回特定节目的日期列表?我在查询字符串中传递显示代码(“456”)并希望所有日期/时间作为列表返回。这是我目前的代码:XDocumentxDoc=XDocument.Load("pathtoxml");varfeeds=fromfeedinxDoc.Descendants("Show")wherefeed.Attribute("Code").Equals("456")selectnew{EventDate=feed.Attribute("Date").Value};foreach(varfeedinfeeds){Response.Write

sql-server - 读取 XML 节点中的值 - T-SQL

这是我的代码......DECLARE@XMLASXML;SET@XML=CAST('VisitorClosedWindow1234@mail.ru'ASXML)SELECTxmlData.Col.value('@id','varchar(max)'),xmlData.Col.value('@source','varchar(max)'),xmlData.Col.value('@name','varchar(max)')FROM@XML.nodes('//Session/VarValues/varValue')xmlData(Col);这是输出......如何包含varValue的实际

sql - 获取 MS SQL 中特定 varchar 的行数

在MSSQLServer2012中,我有一个数据库,其中包含一个包含varchar列的表,该列包含一些甚至可能包含换行符的文本。基本示例:CREATETABLEExample([ID]INT,[Text]VARCHAR(100));INSERTINTOExample([ID],[Text])VALUES(1,'Thisisatest'),(2,'Thisisanothertestwithtwolinebreaks'),(3,'Thisisatestwithonelinebreak');现在我想获取每条记录的总文本行数,即,如下所示:--------------------|ID|Lin

c# - 包含正斜杠 (/) 的属性的 XPath 查询

我正在尝试使用XPath表达式在XMLDocument上执行SelectSingleNode。但是,当我搜索的属性值包含多个正斜杠(/)时,它返回null。我在网上找不到任何转义正斜杠的资源。有谁知道解决这个问题的方法吗?还是我的语法完全错误以匹配属性值?示例XML此XPath表达式返回正确的节点(例如:上面示例中的第一个节点)XmlNodeN=xmlDoc.SelectSingleNode("Root/Page[@Path='/brand']");这个XPath表达式返回nullXmlNodeN=xmlDoc.SelectSingleNode("Root/Page[@Path='/b

sql-server - 在 SQL Server 中检索没有子元素的元素

我正在使用SQLServer2008,我想检索XML元素并返回元素本身及其属性,不带任何子元素和text()。例如,以下XML有4个节点(doc、apple、b、banana):tastyyum!niceinsmoothies我想返回:例如doc应返回时不带任何子节点,apple应返回时不带b子节点。但问题是,如果我使用SQLServer节点和查询方法,我无法删除子节点。使用SQLServer2008最接近的是:declare@xxml='tastyyum!niceinsmoothies';selectc.query('local-name(.)')asNode,c.query('fo

c# - 读取 XML 数据并构建查询以将值插入 SQL Server 数据库的最佳方法是什么?

读取XML数据并构建查询以将值插入SQLServer数据库的最佳方法是什么?谁有针对这种情况的最佳方法? 最佳答案 就我个人而言,我使用DataSet.ReadXML()。然后它将所有数据放入DataSet中的DataTables中,然后循环遍历和操作数据就容易多了。 关于c#-读取XML数据并构建查询以将值插入SQLServer数据库的最佳方法是什么?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com

javascript - 在 JavaScript XPath 查询中访问节点集

我有一个非常简单的问题,我似乎找不到答案。我想压缩两个XPath语句(获取属性值)。我了解了|运算符,了解它如何返回节点集。vargetdata=xmldoc.evaluate('/foo/bar[@world=\''+hello+'\']/child::*/attribute::name|/foo/bar[@world=\''hello+'\']/child::*/attribute::id',xmldoc,null,XPathResult.ANY_TYPE,null);对于任何想知道的人,不,我不会以这种方式格式化我的评估字符串......不过,我现在有点喜欢它,因为我已经输入了它

sql - 如何确定两个大型数据集之间的差异?

我有largedatasets有数百万条XML格式的记录。这些数据集是数据库在某个时间点之前的完整数据转储。在两个转储之间可能添加了新条目,而现有条目可能已被修改或删除。假设架构保持不变,并且每个条目都有一个唯一的ID。确定其中两个数据集(包括删除和更新)之间的增量的最佳方法是什么?我的计划是将所有内容加载到RDBMS并从那里开始。首先,加载旧的转储。然后,将较新的转储加载到不同的模式中,但这样做时我将检查该条目是新的还是对现有条目的更新。如果是,我会将ID记录到名为“changes”的新表中。完成这一切后,我将遍历所有条目的旧转储,看看它们是否在新转储上有匹配的记录(即:相同的ID)

c# - SQL Server 2008 错误 - XML 分析 : document parsing required too much memory

在XML解析器崩溃之前,我们在SQLServer2008中遇到了单个XML节点可以拥有的最大属性数的问题。我们收到的错误是:Msg6303,Level16,State1,Line1XMLparsing:Documentparsingrequiredtoomuchmemory这有点误导。将字符串转换为XML数据类型(或表列)时出现问题。SELECTCONVERT(XML,'')其中XXXXX其实是另外8191个属性。我们的数据集总共包含10,066个属性。当我们将属性数量减少到8,192时,效果很好。然而,8,193个属性崩溃。它似乎与数据大小没有任何具体关系(100MB或60KB无关紧