【发布时间】:2020-10-21 03:40:39
【问题描述】:
想知道是否有人可以提供帮助。
我正在尝试获取日期列中的值、日期值并将天分组为一个月,以获得当月收到的托盘总数的摘要。
在我的 select/group 语句中添加 to_char(conf_date, 'MM-YYYY') 时出现错误,'ORA-01722: invalid number'。
提前致谢!
我当前的 SQL
with pallets_received as (
select a.comp_code,
a.cust_code,
a.rcpt_num,
to_char(a.rcpt_conf_date,'mm-dd-yyyy')conf_date,
sum(b.rcpt_loc_qty)/(c.item_qty_bkd_qty) pallets
from e_rcpt_h a
left join e_rcpt_d5D1 b
on a.comp_code=b.comp_code
and a.rcpt_num=b.rcpt_num
left join m_item_d1 c
on b.comp_code=c.comp_code
and b.cust_code=c.cust_code
and b.invt_lev1=c.item_code
where a.comp_code='T3'
and c.item_qty_bkd_lev_num=1
and a.cust_code='101029'
and a.flow_pros_code='CORE'
and trunc(a.rcpt_conf_date) >= to_date('02-01-2020','mm-dd-yyyy')
group by a.comp_code,
a.cust_code,
a.rcpt_num,
a.rcpt_conf_date,
c.item_qty_bkd_qty
order by conf_date
)
select comp_code,
cust_code,
conf_dateas month,
sum(ceil(pallets)) pallets
from pallets_received
group by comp_code,
cust_code,
conf_date
order by conf_date
表格
comp_code | cust_code | conf_date | pallets
---------------------------------------------
T3 101029 03-06-2020 2
T3 101029 03-09-2020 8
C4 101029 04-05-2020 2
C4 101029 04-05-2020 8
我想要达到的输出
comp_code | cust_code | month | pallets
---------------------------------------------
T3 101029 03-2020 10
C4 101029 04-2020 10
【问题讨论】:
-
conf_date 是表中的 DATE 类型吗?另外,请缩进您的代码,以便于阅读。谢谢
-
您好 OldProgrammer,对于缩进很抱歉,我编码不多,也不确定要缩进什么,它可能只是随机缩进,哈哈。表 e_rcpt_h 中的原始日期显示为 2020-03-06 00:00。所以我使用With中的sql转换了那个日期。