将列值作为属性添加到 xml 字段

2023-12-28

我想向查询中的 xml 字段添加属性值。我的例子如下

declare @table table (bookid int,xmlCol xml)
insert into @table
select 1,
'<book title="you are not alone" author="Esther">
  <EDITIONS>
    <edition year="2012"/>
    <edition year="2013"/>
  </EDITIONS>
</book>'

declare @table1 table(bookid int,quantity int)
insert into @table1
select 1,3 

select ??? 
from @table t
inner join @table1 t1
on t.bookid = t1.bookid

我希望我的最终结果看起来像这样

<book title="you are not alone" author="Esther" quantity="3">
  <EDITIONS>
    <edition year="2012"/>
    <edition year="2013"/>
  </EDITIONS>
</book>

如果需要选择数据,可以使用xquery:

select
    t.xmlCol.query('
         element book {
             for $i in book/@* return $i,
             attribute quantity {sql:column("t1.quantity")},
             for $i in book/* return $i
         }
    ')
from @table t
    inner join @table1 t1 on t.bookid = t1.bookid

sql fiddle demo http://sqlfiddle.com/#!3/d41d8/21875

甚至更简单:

select
    t.xmlCol.query('
         element book {
             book/@*,
             attribute quantity {sql:column("t1.quantity")},
             book/*
         }
    ')
from @table t
    inner join @table1 t1 on t.bookid = t1.bookid

sql fiddle demo http://sqlfiddle.com/#!3/d41d8/21883

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将列值作为属性添加到 xml 字段 的相关文章

  • 在浏览器中读取wsdl文件

    当我尝试在浏览器中打开 WSDL 文件 http localhost something file wsdl 时 我被提议下载该文件 但我希望能够在浏览器中以 XML 字符串 形式查看 而不是下载 谢谢 如果您的服务器未发送 WSDL 文件
  • 如何在 SQL 中引用自定义字段

    我正在使用 mssql 但在使用子查询时遇到问题 真正的查询相当复杂 但其结构与此相同 select customerName customerId select count from Purchases where Purchases c
  • 根据同一 select 语句中先前计算的行(或列)计算新行(或列)

    我正在尝试根据年度销售增长预期来计算年度预期销售量 在一张表中 我有实际销量 create table Sales ProductId int Year int GrowthRate float insert into Sales valu
  • 我可以将 SQL Server 安装在 USB 驱动器上吗?

    我是一名开发人员 如果可以的话 我经常远程工作 而不是通勤上班 我希望能够随身携带开发数据库环境 我知道我可以远程访问数据库 但速度很慢 我有时在没有无线连接的地方工作 有任何想法吗 是的 这是可能的 看this http social m
  • 使用 C# 恢复数据库

    我正在尝试使用 Microsoft SqlServer Management Smo 将数据库从一台服务器恢复到另一台服务器 问题是我不断收到错误消息 指出找不到 MDF 文件 原因是它试图在 SQL 实例名称的数据文件夹中查找它的来源 而
  • 如何只获取 getdate() 的日期部分? [复制]

    这个问题在这里已经有答案了 我有一个包含 CreationDate 字段的 SQL 表 I have getdate 在计算列规格公式中 我想知道如何获取日期部分 即 2012 08 24 而不是 2012 08 24 10 45 17 7
  • 如何在 C# 中从 sql server 运行代码 [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions SqlCommand cmd new
  • plpgsql 中的伪加密() 函数采用 bigint

    我正在开发一个生成随机 ID 的系统 如答案 2 所示here https stackoverflow com questions 12575022 generating an instagram or youtube like ungue
  • 选择列的一部分

    我想知道是否有人可以帮助查询以选择列的一部分 criteriadata 列包含如下所示的数据 标准数据 14 27 15 14 30 15 DD 14 38 15 通过 14 33 15 通过 如何只选择数字 15 之后出现的数据 非常感谢
  • 如何从 SQL Server 2008 返回由共享公共父级的多个选择构成的 XML

    我尝试过使用 FOR XML PATH FOR XML EXPLICIT 和 FOR XML AUTO 但数据从未采用正确的层次结构构建 基本上 我有一张父表 客户 和 3 个子表 每个表都有一个 customerid 列 Customer
  • 从 docker 中的脚本创建 SQL Server 数据库

    我希望这是一个简单的问题 我在任何地方都找不到任何东西 如何在Microsoft SQL Server Docker容器 Dockerfile 我正在看以下内容Dockerfile FROM microsoft mssql server w
  • 从 XElement 中删除属性

    请考虑这个 XElement
  • 如何在 postgresql 中使用“时间”字段按小时分组?

    我有一张带有一列的桌子ctime类型的time without time zone cdate ctime 2016 12 24 12 02 17 2016 12 24 12 02 32 2016 12 24 12 03 00 2016 1
  • 单笔交易与多笔交易[关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • Oracle SQL 查询日期格式

    我总是对 ORACLE SQL 查询中的日期格式感到困惑 并花几分钟时间去谷歌 有人可以向我解释当数据库表中有不同格式的日期时解决问题的最简单方法吗 例如 我有一个日期列为 ES DATE 保存的数据为 27 APR 12 11 52 48
  • 会员提供商使用还是不使用?

    我正在开发一个使用 Facebook 的网站 现在为了管理用户我想使用MembershipProvider并选择开发一个定制的会员提供商 我的问题是我的数据库架构与标准成员资格架构不匹配 并且提供的用于覆盖的函数采用与我预期不同的参数 例如
  • INSERT INTO ... SELECT ... 是否始终按序号位置匹配字段?

    我的测试似乎证实了这一点 INSERT INTO a x y SELECT y x FROM b maps b y to a x 即字段仅按顺序位置匹配 而不按名称匹配 情况总是如此吗 即 我可以依赖这种行为吗 很遗憾 文档 http ms
  • 参数的性能不如硬编码值

    我有一个执行得很糟糕的存储过程 当我声明一个变量时 设置它的值 然后在 where 子句中使用它 该语句需要一个多小时才能运行 当我对 where 子句中的变量进行硬编码时 它的运行时间不到一秒 我开始通过执行计划来查找问题所在 看起来当我
  • 如何在浏览时检查客户端是否安装了 SQLNCLI10 提供程序?

    我有一个 C 网站 允许客户端从其 PC 直接连接到远程 SQL Server 数据库 通过使用第 3 方 ActiveX 控件绕过 Web 服务器 我最初使用的是SQLOLEDB提供商并且运行良好 客户端位于内部网络中 使用 Window
  • 在 Android 版 ORMLite 中加入类会引发 SQL 异常:找不到外部类,反之亦然

    我正在尝试使用 QueryBuilder 为两个不同的类创建一个联接查询 一个Product类和一个Coupon类 引用 Product 属性 storeId public class Coupon DatabaseField column

随机推荐

  • Python 协议/接口的综合列表[重复]

    这个问题在这里已经有答案了 最近 我在看一些Python 习语 我发现了很多Python中使用的协议的描述 例如排序 cmp 或发电机 除此之外 还有类似的方法 hash 这是为每个对象定义的 我想 在互联网上进行一些搜索后 我还没有找到这
  • 从 UserControl 抽象子类继承

    我有一组用户控件需要具有一些类似的属性 因此 我定义了 UserControl 的一个抽象子类 它定义了这些属性并更新了 xaml cs 和 g cs 文件以从该基类继承 一切都编译良好并且运行良好 伟大的 但是 g cs 文件已生成并将重
  • 在 ASP.net 中返回纯文本或其他任意文件

    如果我要使用 PHP 中的纯文本响应 http 请求 我会执行以下操作 我如何在 ASP NET 中实现同等功能 如果你只想返回这样的纯文本 我会使用 ashx 文件 VS 中的通用处理程序 然后只需在 ProcessRequest 方法中
  • 将数据帧转换为没有列名的嵌套字典

    这是我的 pandas 数据框的示例 它包含接近 100k 行 import pandas as pd df pd DataFrame cluster 5 5 5 5 5 5 mdse item i 23627102 23627102 23
  • 检查文件夹是否有文件

    我有一个程序可以将哪些文件夹已满或为空写入数据库 现在我正在使用 bool hasFiles false Directory GetFiles path Length gt 0 hasFiles true hasFiles false 但这
  • Android:如何使用 Volley 处理来自服务器的消息错误?

    我在用Volley让我的 Android 应用程序从我的服务器获取数据 除非处理来自我的服务器的错误 否则它运行良好 当出现错误时 我的服务器会发送此响应 status 400 message Errors 2 A name is requ
  • Gradle --显示版本

    Maven 的 Gradle 模拟是什么 show version option V show version Display version information WITHOUT stopping build 输出包括 Maven Ja
  • 是否可以替换为 data.table[i, j , by] 中的 `i` 元素

    我想知道是否可以将表达式替换为idata table 的一部分 我设置了一个深度嵌套的列表 其中包含预设参数 以根据用户在闪亮的应用程序中选择的子组来执行子集设置 我怀疑这是不可能的 但我希望能以某种方式得到确认 如果不可能 我欢迎任何替代
  • 更改数组索引以显示下一张幻灯片

  • Homebrew 公式中的替代依赖项(例如与 gcc 一起使用)

    如何在 Homebrew 公式中描述替代依赖关系 我正在考虑两种不同的类型 1 替代套餐 我的公式可能取决于包装P or Q 但它必须有其中之一 所以 我想要 depends on P or depends on Q 我至少需要一个 2 同
  • NSCoder 和自定义类型

    如何使用 NSCoder 来编码和解码自定义类型 例如 您将如何将 NSCoder 与 的实例一起使用 STATE where typedef enum ON OFF STATE 您可以将它们视为整数 因为它们是隐式分配的整数值 void
  • self.view = someController.view 与 [self.view addSubview:someController.view]

    我正在尝试找出我遇到的错误 最初 我的同事只是使用以下命令将视图添加到子视图中 self view addSubview someController view 来自当前 ViewController 这看起来不错 但有点迟缓 我想根据需要
  • 如何将更新的 git-hash 嵌入到 Version.hpp 中?

    原标题 如何让 git 忽略我的文件 无论分支如何 我有以下结账后文件 它按预期工作 usr bin ruby cmd ENV HOME dev pitbull cpp bin gen version rb write cmd gen ve
  • H264 帧查看器

    您知道有什么应用程序可以向我显示单个 H264 帧的所有标头 参数吗 我不需要解码它 我只是想看看它是如何构建的 我想到了三种方法 如果您正在寻找免费的东西 否则谷歌 h264分析 以获取付费选项 下载h 264解析器 http www w
  • 我想使用 SQL 选择查询从选定的月份和年份中找到两个值

    单击此处查看输出 https i stack imgur com if28I png 这是我的选择查询 First query SELECT YEAR SUM amount AS total FROM accounts WHERE MONT
  • Perl - eval 不捕获“use”语句

    我想检测用户何时缺少所需的模块 并打印一条友好的错误消息 解释他们需要安装的内容 到目前为止 我尝试将其放在脚本的开头 eval use IO Uncompress Gunzip qw gunzip GunzipError if die E
  • C# JsonSerializer.Serialize 返回一个空对象

    我遇到了有关将结构序列化为 JSON 的问题 所以 我有一个结构 坐标 namespace CoordinatesNameSpace public struct Coordinates public Coordinates string k
  • Ant 中的 Groovy 脚本:使用脚本任务还是 Groovy 任务?

    如果您想在 Ant 中运行 Groovy 脚本 您可以使用脚本任务 http ant apache org manual Tasks script html像这样 或者绝妙的任务 http groovy codehaus org The g
  • Java的Scanner.hasNextLine()在什么情况下会阻塞?

    javadoc 为Scanner hasNextLine states 如果此扫描仪的输入中有另一行 则返回 true 这个方法may等待输入时阻塞 扫描仪可以 不超过任何输入 什么情况下该方法会阻塞 这取决于扫描仪获取输入的来源 例如 如
  • 将列值作为属性添加到 xml 字段

    我想向查询中的 xml 字段添加属性值 我的例子如下 declare table table bookid int xmlCol xml insert into table select 1