sql - SQL 语句中的嵌套循环
问题描述
我一直在试图弄清楚是否有一种方法可以在 SQL 语句中使用循环。
Select j.JobID, s.OrderNumber,
(SELECT OperationID From Operations) as Operations <--- This will cause multiple results
From Jobs j
Inner Join Sales s on j.JobID = s.SalesJobID
Where j.JobID = '123456-1-1'
这就是我们所拥有的
JobID OrderNumber Operation
----- ----------- ----------
1123456-1-1 TEST1 DEV
1123456-1-1 TEST1 APR
1123456-1-1 TEST1 CAT
1123456-1-1 TEST1 LFT
1123456-1-1 TEST1 PKG
试图做这样的事情。
JobID OrderNumber Operations
----- ----------- ----------
1123456-1-1 TEST1 DEV, APR, CAT, LFT, PKG
解决方案
您可以使用 XML PATH 执行此操作
Select j.JobID, s.OrderNumber,
(SELECT OperationID + ',' From Operations WHERE add_your_filter_here FOR XML PATH ('')) as Operations
From Jobs j
Inner Join Sales s on j.JobID = s.SalesJobID
Where j.JobID = '123456-1-1'
推荐阅读
- wordpress - 基于当前用户的高级自定义字段默认值
- python - Python中的小数到二进制
- sql - TSQL从以不同ID连接的表中选择与ID关联的最大值?
- javascript - Python 发布请求检查复选框并提交
- postgresql - 如何定义具有在另一个模式中定义的参数类型的 hasura gql 突变?
- python - Python 3 pandas:转换数据框以获取关卡
- c# - 在数据绑定项控件中时无法绑定到图像
- neo4j - 在 Neo4j 中将 Realtionship 的属性设置为标签
- java - Java中的三元运算符混淆
- license4j - 许可证在激活期后被激活