【发布时间】:2021-06-02 12:09:00
【问题描述】:
目前我在 SQL 中有以下结果:
| qty | description | volume | weight |
|---|---|---|---|
| 4 | Flowers | 3,4 | 4 |
这是一种 XML 格式。所以我想做什么,我想我需要以某种方式使用“FOR XML PATH”,但我不确定如何实现以下结果:
| qty | description | volume | weight |
|---|---|---|---|
| 1 | Flowers | 0,85 | 1 |
| 1 | Flowers | 0,85 | 1 |
| 1 | Flowers | 0,85 | 1 |
| 1 | Flowers | 0,85 | 1 |
所以我需要根据总数量(4)划分XML路径。对于每 (4) 个产品,我需要创建一个新行。然后除以体积和重量(/qty)。
谁能帮我把我推向正确的方向?
编辑: 第一个结果,数量为 4,是临时表中的结果。 我将临时表中的数据提取为 XML 格式。这是一个sn-p
(SELECT "qty" = value('(@col24)[1]', 'varchar(50)'), "weight" = value('(@col28)[1]', 'varchar(50)'), "volume" = value('(@col26)[1]', 'decimal(16,2)') FOR XML PATH('product'), ROOT('products'), TYPE)
数量、重量和体积代表总数。 这就是我想要为每个“数量”创建一个“产品”的原因。
【问题讨论】:
-
你使用的是microsoft sql server 数据库吗?
-
也分享你当前的sql..
-
我确实在使用 SQL Server
-
您自相矛盾地说您有 SQL 中的结果,但它是一种 XML 格式。它是哪一个?你的实际输入是什么样的?就此而言,您的输出是什么样的——应该是行还是 XML?
-
您可以(并且应该)edit 您的问题以包含更多详细信息; cmets 是一个糟糕的媒介,因为当涉及大量代码时,它们既不持久也不特别可读。
标签: sql sql-server xml tsql