sql-server - 在单行结果集中返回多行
问题描述
我有三个 MSSQL 表。第一个表是项目交易,第二个是项目表(我得到项目的名称和特定项目的其他规格),第三个表是项目交付类型表(如 Box、Pack 和 Pieces 及其转换因素)
第一个表字段;
..., itemid, trtype, trdate, amount, price, dlvid ...
第二个表字段;
..., itemid, itemcode, itemname ...
第三个表字段;
... dlvid, IsMain, dlvname, convfactor ...
和
11 1 Box [1]
12 0 Pack [25] (1 box = 25 Packs)
13 0 Pcs [375] (1 Pack = 15 Pcs, 1 Box = 375 Pcs)
括号中的数字是转换因子
之前,我将它们放在网格视图中。itemname(来自 2.nd 表)、trtype、trdate、amount(来自 1.st 表)和 dlvname(来自 3.rd 表)然后就可以了。
但是现在我必须在一行中显示所有的交付类型,计算如下:
Faber 绘图铅笔 3B | 出| 05.06.2018 | 6 盒,150 包,2,250 件...
你能帮我解决这些问题吗?
提前致谢。
解决方案
首先我想让你知道你的问题质量很低。很难理解您的表和数据类型。甚至不清楚您在哪种情况下遇到问题?
所以下次请阅读如何创建一个最小、完整和可验证的示例
这是你的答案:
select
...
STRING_AGG (concat(amount, ' ', trtype), ',') within group (order by amount asc)
from
Table 1
Inner Join Table2 on ....
inner join table3 on ...
推荐阅读
- reactjs - 如何在 React JSX 中渲染同一个 div 中的多个元素
- pandas - 日期为字符串时的 Pandas KeyError 日期
- python - 'HdyViewSwitcherBar' 是无效的对象类型?
- javascript - 如何使用 Knex 创建 TINYINT 列?
- c# - FileStream 写入所有 NULL 的文件
- python - 通过 HMAC-SHA1 验证 Python3 上的传入请求
- php - Laravel - 从多对多关系中获取数据
- python - 用python写.txt的问题
- spring - 反应式 Spring Boot - java.lang.NoSuchFieldError: DEFAULT_SHUTDOWN_QUIET_PERIOD
- python - 任何进行参数化查询并将其封装在函数中的python方法