sql - 将多行分组为一行
问题描述
这是我根据 ITEM SID 读取存储数量的脚本,我需要将与相同 ITEM SID 相关的所有记录分组到一行中,在下面找到结果和预期结果的示例图像。
SELECT DISTINCT
i.SBS_NO,
to_char(i.ITEM_SID) as ITEMSID,
i.ALU ,
a.LOT_NUMBER ,
a.LOT_NAME,
a.LOT_NOTE,
a.EXPIRY_DATE,
a.ACTIVE ,
--s.STORE_NO,
--s.QTY,
DECODE(S.STORE_NO,1,S.QTY,'0') STR1QTY,
DECODE(S.STORE_NO,2,S.QTY,'0') STR2QTY,
DECODE(S.STORE_NO,3,S.QTY,'0') STR3QTY,
DECODE(S.STORE_NO,4,S.QTY,'0') STR4QTY,
DECODE(S.STORE_NO,5,S.QTY,'0') STR5QTY,
DECODE(S.STORE_NO,6,S.QTY,'0') STR6QTY,
DECODE(S.STORE_NO,7,S.QTY,'0') STR7QTY,
DECODE(S.STORE_NO,0,S.QTY,'0') STR0QTY,
DECODE(S.STORE_NO,99,S.QTY,'0') WHQTY,
i.DESCRIPTION2,
i.DESCRIPTION3,
i.DESCRIPTION4,
i.DCS_CODE,
i.ATTR,
i.SIZ,
i.FST_RCVD_DATE,
i.UDF1_DATE,
i.QTY_PER_CASE,
i.ACTIVE,
i.MARKDOWN_PRICE,
i.UDF2_VALUE as ITEM_STATUS
from inventory_v i
inner join LOT a
on i.ITEM_SID = a.ITEM_SID
inner join LOT_QTY s
on a.ITEM_SID=s.ITEM_SID
where i.sbs_no=1
and i.ITEM_SID=a.ITEM_SID
--and i. ALU='358N690175'
and a.ITEM_SID=s.ITEM_SID
and i.SBS_NO=a.SBS_NO
and a.SBS_NO=s.SBS_NO
and s.STORE_No in (0,1,2,3,4,5,6,7,99)
and a.ACTIVE=1
and i.ACTIVE=1
GROUP BY
i.SBS_NO,
i.ITEM_SID,
i.ALU ,
a.LOT_NUMBER ,
a.LOT_NAME,
a.LOT_NOTE,
a.EXPIRY_DATE,
a.ACTIVE ,
s.STORE_NO,
s.QTY,
i.DESCRIPTION2,
i.DESCRIPTION3,
i.DESCRIPTION4,
i.DCS_CODE,
i.ATTR,
i.SIZ,
i.FST_RCVD_DATE,
i.UDF1_DATE,
i.QTY_PER_CASE,
i.ACTIVE,
i.MARKDOWN_PRICE,
i.UDF2_VALUE
;
谢谢
[预期结果]
解决方案
推荐阅读
- reactjs - 在根域上使用 Gitlab 页面托管 React 应用程序
- php - 如何使用 process.php 将行 ID 传递到另一个页面?
- javascript - 在每次调用时返回不同值的 Javascript 函数
- javascript - React 中的条件格式 - 添加或附加 CSS 类
- c# - 字符串中的 C# 多个 switch case 组合
- javascript - CkEditor 与 jquery 表单冲突
- powershell - Powershell 复制脚本适用于我的桌面和服务器,但不适用于 SQL 代理
- html - 我将如何从 HTML 按钮调用批处理命令
- javascript - 控制器中范围数据中的变量
- powershell - 将剪贴板中的文本通过管道传输到 Powershell 中的提示符