sql - 如何在 SQL 中使用 CAST 在一列/原始中显示多个“GL 编码”
问题描述
;
WITH documentswith42cols
AS (SELECT document_id
FROM documentmetadata
GROUP BY document_id
HAVING Count(1) = 42),
test
AS (SELECT DM.document_id,
wf.id,
wf.currentstatename,
DM.displayname,
F.NAME,
DM.fieldvalue
FROM documentmetadata DM
--inner join DocumentsWith42Cols cols42 on cols42.Document_ID = DM.Document_ID -- ignore incase of less than 42 columns
INNER JOIN field F
ON DM.field_id = F.id
AND f.NAME <> 'GL Coding'
INNER JOIN workflowitem wf
ON wf.document_id = dm.document_id
AND Isnull(wf.isrunning, 1) = 1
AND Isnull(wf.isterminated, 0) = 0
WHERE DM.document_id IN ( 20113)-- specific document id's
UNION ALL
SELECT DM.document_id,
wf.id,
wf.currentstatename,
DM.displayname,
F.NAME,
**Cast(DM.fieldvalue AS XML).value('(/DocumentElement//TableFieldColumn/Account_x0020_Number/node())[1]', 'varchar(max)') + ' , ' +
Cast(DM.fieldvalue AS XML).value('(/DocumentElement//TableFieldColumn/Account_x0020_Number/node())[2]', 'varchar(max)')**
AS FieldValue
FROM documentmetadata DM
--inner join DocumentsWith42Cols cols42 on cols42.Document_ID = DM.Document_ID -- ignore incase of less than 42 columns
INNER JOIN field F
ON DM.field_id = F.id
AND f.NAME = 'GL Coding'
AND F.id = 331 -- Duplicate f.Name 'GL Coding'
INNER JOIN workflowitem wf
ON wf.document_id = dm.document_id
AND Isnull(wf.isrunning, 1) = 1
AND Isnull(wf.isterminated, 0) = 0
WHERE wf.document_id IN ( 20113 )-- specific document id's
) `enter code here`
SELECT [GL Coding]
FROM (SELECT document_id,
id,
NAME,
fieldvalue
FROM test) AS SourceTable
PIVOT (Max(fieldvalue)
FOR NAME IN ([GL Coding])) AS pivottable
请帮助我使用 CAST 在一个原始/列中显示 GL 编码的多个值。因为我不知道如何使用 CAST。现在我为你可以在 BOLD 中看到的 2 值做,但如果它大于 1,我需要显示所有值。
[您可以在这张图片中查看我有两个 GL 代码,因为我在查询中为 2 编写了代码][1] [1]:https ://i.stack.imgur.com/d8ymm.jpg
解决方案
推荐阅读
- arrays - 如何在swift中按日期对字典数组中的项目进行排序
- html - 如何使用 flexbox 在整个页面上拉伸标题并使用响应屏幕状态
- r - 删除 R 中重复项不准确的行
- spring-boot - 如何在spring boot中使用http补丁请求?
- jquery - 鼠标事件名称
- sql - Invoke-DbaQuery 失败 - 等待操作超时
- java - 我的 Havel-Hakimi 算法代码有什么问题?
- git - 我们如何轻松解决由于 React 应用程序中的文件转译导致的合并冲突?
- azure - 使用 Azure Front Door 提供 SPA
- java - 在 Java 中获取 TreeSet 的 headSet 的时间复杂度是多少?另外,如果我调用 headSet 方法'n'次怎么办?