小编hap*_*p76的帖子

使用 OPENJSON,无法获取 GROUP BY 结果

我将 JSON 字符串传递给存储过程以插入仓库库存。

有时,会有多个具有相同产品的订单项,在相同的货架上、相同的托盘 (LPN) 上、具有相同的日期。我想将它们汇总到表中的一行中。

JSON 表示已接收并存放到某个位置的各个行。这里有 2 个相同的项目:

[{"StockCode": "ABC123", "Qty": "200", "Bin": "E4B4_L", "LPN": "1234", "PutDate": "2022-01-21 18:35:53 UTC"}, {"StockCode": "ABC123", "Qty": "400", "Bin": "E4B4_L", "LPN": "1234", "PutDate": "2022-01-21 18:36:43 UTC"}]
Run Code Online (Sandbox Code Playgroud)

所以:

ABC | 200 |  2022-01-21 00:00:00.000 | LPN1234
ABC | 400 |  2022-01-21 00:00:00.000 | LPN1234
Run Code Online (Sandbox Code Playgroud)

应汇总为:

ABC | 600 |  2022-01-21 00:00:00.000 | LPN1234
Run Code Online (Sandbox Code Playgroud)

我尝试对数量进行 GROUP BY 和 SUM,但表中的结果行仍然是 2 个单独的行。我意识到由于时间戳的原因 PutDate 不一样,所以我认为肯定将其转换为 DATE 可以解决这个问题,但事实并非如此。

SQL脚本:

ALTER Procedure spc_PutAway
(@json NVARCHAR(MAX) = '')
AS …
Run Code Online (Sandbox Code Playgroud)

sql-server insert group-by json

0
推荐指数
1
解决办法
931
查看次数

标签 统计

group-by ×1

insert ×1

json ×1

sql-server ×1