sql-server - 将记录合二为一?
问题描述
CATEGORY DESC AMOUNT
50200105 Sub Contractor - SLW 1000
50200205 Sub Contractor - Meal Operator - SLW 0
50200305 Sub Contractor - Garbage - SLW 2000
结果
CATEGORY DESC AMOUNT
50200105 Sub Contractor - SLW 3000
解决方案
让我们用这么多的 let 以某种方式实现你的输出;)
让 - 您正在尝试使用列中值的最后一部分对结果进行分组 - 描述。
让 - 您可以在组中保留 CATEGORY 列中的 MIN 值。
现在 - 试试下面的查询。只是想以某种方式帮助你:)
SELECT MIN(CATEGORY) CATEGORY,
'Sub Contractor - '+ TRIM(REVERSE(LEFT(REVERSE(DESCRIPTION), CHARINDEX('-',REVERSE(DESCRIPTION),0)-1))) DESCRIPTION,
SUM(AMOUNT) AMOUNT
FROM your_table
GROUP BY TRIM(REVERSE(LEFT(REVERSE(DESCRIPTION), CHARINDEX('-',REVERSE(DESCRIPTION),0)-1)))
推荐阅读
- javascript - 如何以角度显示来自snakbar中对象的数据
- jquery - 我的引导导航栏切换没有切换
- angular - 无法在 docker 容器中运行 Angular 测试用例
- python-3.x - 我想在句子中获得主题或主要词
- angular - mat-tab 中的 Angular、Chart.js 动画
- maven - JaCoCo 与多模块 Maven 项目 - 仅记录模块拥有的测试的覆盖率
- spring-boot - 我需要一个住宿实体
- typescript - 离子 - 无显示的无限滚动
- python - tf.python.keras.utils.multi_gpu_model 初始化错误
- excel - 在 Excel 中查找组并将其写入另一个表