表PHPICK00
PHPDCR | PHPTCR | PHPCTL | PHGMDS | PHPSTF | PHOTYP |
---|---|---|---|---|---|
20201217 | 142407 | 0000000069 | SA2012160010281 | 99 | 1 |
20201217 | 142407 | 0000000070 | SA2012160010282 | 90 | 2 |
20201217 | 142408 | 0000000071 | SA2012160010283 | 10 | 3 |
表PDPICK00
PDPCTL | PDSTYL | PDSSFX | PDCOLR | PDCSFX | PDSZDS | PDOGQT | PDSHQT |
---|---|---|---|---|---|---|---|
0000000069 | L121M007 | 0019 | M | 2 | 1 | ||
0000000069 | L121M007 | 08 | 0019 | L | 1 | 1 | |
0000000071 | 216166 | BKW | M | 1 | 0 |
说明:PHPCTL 订单号,PDOGQT 订单数量, PDSHQT发货数量, PHOTYP 订单类型(2=B2C,其他=B2B), PHPSTF订单状态(10=未生产,90=完成,99=取消)
问题:查询出异常出库数据
需要将日期和时间字段合并成一个日期格式(2020-12-17 14:24:07),将PHGMDS字段中的空格去掉,将PHOTYP的值替换成描述内容,将PDSTYL,PDSSFX,PDCOLR,PDCSFX,PDSZDS 合并成一个字段SKU
异常出库数据 是指 发货数量 > 订单数量:
select concat(concat(substr(PHPDCR, 1, 4), '-', substr(PHPDCR, 5, 2), '-', substr(PHPDCR, 7, 2)),
' ', concat(substr(PHPTCR, 1, 2), ':', substr(PHPTCR, 3, 2), ':', substr(PHPTCR, 5, 2))) as order_date,
trim(PHGMDS) as PHGMDS,
case when PHOTYP = 2 then 'B2C' else 'B2B' end as PHOTYP,
concat(ifnull(PDSTYL, ''), ifnull(PDSSFX, ''), ifnull(PDCOLR, ''), ifnull(PDCSFX, ''), ifnull(PDSZDS, '')) as sku
from phpick00
left join pdpick00 on phpick00.PHPCTL = pdpick00.PDPCTL
where PHPSTF = 99 -- 订单状态 = 取消
or PDSHQT > PDOGQT -- 发货数量 > 订单数量