sql语句运行提示:未明确定义列。请问应该怎么修改?

程序为:

with a as (SELECT O.ORDERKEY 出货单号,

       O.EXTERNORDERKEY 外部单号,

       OD.STATUS 状态码,

       os.description 状态名称,

       O.TYPE 出货单类型码,

       ot.description 出库单类型名称,

       o.notes 生产订单号,

      TO_CHAR(O.Requestedshipdate + 8 / 24, 'yyyy-mm-dd hh24:mi') as 请求出货日期,

      TO_CHAR(O.Actualshipdate + 8 / 24, 'yyyy-mm-dd hh24:mi') as 实际出货日期,

       OD.SKU 物料编码,

       s.descr 物料名称,

       to_char(lp.Lottable02) 供应商,

       OD.ORIGINALQTY 需求数量,

        Od.Ref02  产线,s.susr1 物料组

  FROM ORDERS O

 inner JOIN /*(SELECT OD.ORDERKEY,

                    OD.SKU,

                    OD.Lottable02,

                    SUM(OD.ORIGINALQTY) ORIGINALQTY,

                    SUM(OD.OPENQTY) OPENQTY,

                    SUM(OD.QTYALLOCATED) QTYALLOCATED,

                    SUM(OD.QTYPICKED) QTYPICKED,

                    SUM(OD.SHIPPEDQTY) SHIPPEDQTY

               FROM ORDERDETAIL OD

              where '' is null

                 or OD.Lottable02 = ''

              GROUP BY OD.ORDERKEY, OD.SKU, OD.LOTTABLE02) ODD*/

ORDERDETAIL OD ON O.ORDERKEY = OD.ORDERKEY

                        inner JOIN sku s ON od.sku = s.sku

                        inner join codelkup ot on listname = 'ORDERTYPE'and ot.code =O.TYPE

                        inner join orderstatussetup os on os.code = OD.STATUS left join 

                        (select  Lottable02 ,orderkey,sum(qty) qty from pickdetail p inner join lotattribute l on p.lot=l.lot 

where p.status=9 group by orderkey,Lottable02) lp on o.orderkey=lp.orderkey  

ORDER BY O.Requestedshipdate, s.sku)

select * from a where 1=1 ${if(len(wbdh)==0,"","and 外部单号 =('"+wbdh+"')")}

neyhig 发布于 2020-12-18 13:46
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共4回答
最佳回答
1
huyajunLv6初级互助
发布于2020-12-18 13:51

在你的字段前面都加上是从哪张表里面取得

最佳回答
1
AmyQLv6初级互助
发布于2020-12-18 13:55(编辑于 2020-12-18 13:57)

如果多选:

 select * from a where 1=1 ${if(len(wbdh)==0,"","and 外部单号 in('"+wbdh+"')")}


如果单选:

select * from a where 1=1 ${if(len(wbdh)==0,"","and 外部单号 ='"+wbdh+"'")}


SQL可以这样改:

select * from(SELECT O.ORDERKEY 出货单号,

       O.EXTERNORDERKEY 外部单号,

       OD.STATUS 状态码,

       os.description 状态名称,

       O.TYPE 出货单类型码,

       ot.description 出库单类型名称,

       o.notes 生产订单号,

      TO_CHAR(O.Requestedshipdate + 8 / 24, 'yyyy-mm-dd hh24:mi') as 请求出货日期,

      TO_CHAR(O.Actualshipdate + 8 / 24, 'yyyy-mm-dd hh24:mi') as 实际出货日期,

       OD.SKU 物料编码,

       s.descr 物料名称,

       to_char(lp.Lottable02) 供应商,

       OD.ORIGINALQTY 需求数量,

        Od.Ref02  产线,s.susr1 物料组

  FROM ORDERS O

 inner JOIN /*(SELECT OD.ORDERKEY,

                    OD.SKU,

                    OD.Lottable02,

                    SUM(OD.ORIGINALQTY) ORIGINALQTY,

                    SUM(OD.OPENQTY) OPENQTY,

                    SUM(OD.QTYALLOCATED) QTYALLOCATED,

                    SUM(OD.QTYPICKED) QTYPICKED,

                    SUM(OD.SHIPPEDQTY) SHIPPEDQTY

               FROM ORDERDETAIL OD

              where '' is null

                 or OD.Lottable02 = ''

              GROUP BY OD.ORDERKEY, OD.SKU, OD.LOTTABLE02) ODD*/

ORDERDETAIL OD ON O.ORDERKEY = OD.ORDERKEY

                        inner JOIN sku s ON od.sku = s.sku

                        inner join codelkup ot on listname = 'ORDERTYPE'and ot.code =O.TYPE

                        inner join orderstatussetup os on os.code = OD.STATUS left join 

                        (select  Lottable02 ,orderkey,sum(qty) qty from pickdetail p inner join lotattribute l on p.lot=l.lot 

where p.status=9 group by orderkey,Lottable02) lp on o.orderkey=lp.orderkey  

)A

where 1=1 ${if(len(wbdh)==0,"","and `外部单号` in('"+wbdh+"')")}

ORDER BY `请求出货日期`, `物料编码`



最佳回答
0
CD20160914Lv8专家互助
发布于2020-12-18 13:52

inner join codelkup ot on ot.listname = 'ORDERTYPE'and ot.code =O.TYPE


只有猜一下了。 

如下里面的前面也把别名加上再看。


(select  Lottable02 ,orderkey,sum(qty) qty from pickdetail p inner join lotattribute l on p.lot=l.lot 


where p.status=9 group by orderkey,Lottable02)


最佳回答
0
豆豆小可爱Lv5中级互助
发布于2020-12-18 13:53

里面有某个字段是两张表里面都有的,你得在前面在以下是取哪张表里面的

  • 5关注人数
  • 582浏览人数
  • 最后回答于:2020-12-18 13:57
    请选择关闭问题的原因
    确定 取消
    返回顶部