Sql 选择列表中的列或表达式无效

Sql 选择列表中的列或表达式无效,sql,odbc,Sql,Odbc,我得到这个错误: [IBM][System i Access ODBC Driver][DB2 for i5/OS]SQL0122-选择列表中的列CDSTYL或表达式无效 当我尝试运行下面的查询时 CDSTYL是CDCART00中的有效列 我不确定问题是什么。SQL是我试图从中获取数据的库存管理系统的一部分 select x.item, x.lot, sum(x.case_qty) lpn_inv_ttl, sum(x.carton_qty) carton_tt

我得到这个错误:

[IBM][System i Access ODBC Driver][DB2 for i5/OS]SQL0122-选择列表中的列CDSTYL或表达式无效

当我尝试运行下面的查询时

CDSTYL是CDCART00中的有效列

我不确定问题是什么。SQL是我试图从中获取数据的库存管理系统的一部分

select 
    x.item,
    x.lot,
    sum(x.case_qty) lpn_inv_ttl,
    sum(x.carton_qty) carton_ttl,
    sum(x.sku_invn) sku_inv_ttl,
    sum(x.case_qty)+sum(x.carton_qty) - sum(x.sku_invn) inv_discrepany
from
    (select 
         IDSTYL as Item,
         IDBCHN as Lot,
         IDQTY as case_qty,
         0 sku_invn,
         0 as carton_qty
     from 
         idcase00
     where 
         IDSTAT in ('30', '50', '55', '60', '65', '90')

     union all

     select
         CDSTYL as Item,
         cdbchn as Lot,
         0 as case_qty,
         0 as sku_invn,
         sum(cdpaku) as carton_qty
     from 
         chcart00
     join 
         CDCART00 on chcasn = cdcasn
     where 
         chstat < '85'

     union all

     select 
         SKSTYL as Item, 
         SKBCHN as Lot,
         0 as case_qty,
         (SKAOHQ + SKUOHQ) AS sku_invn,
         0 as carton_qty
     from 
         SKINVN00) X
group by 
    x.item, x.lot
having 
    sum(x.case_qty) + sum(x.carton_qty) != sum(x.sku_invn)
您需要一个由以下人员组成的小组:

select CDSTYL as Item,
                            cdbchn as Lot,
                            0 as case_qty,
                            0 as sku_invn,
                            sum(cdpaku) as carton_qty
                            from chcart00
                            join CDCART00
                            on chcasn = cdcasn
                            where chstat < '85'
group by CDSTYL ,cdbchn 
您需要一个由以下人员组成的小组:

select CDSTYL as Item,
                            cdbchn as Lot,
                            0 as case_qty,
                            0 as sku_invn,
                            sum(cdpaku) as carton_qty
                            from chcart00
                            join CDCART00
                            on chcasn = cdcasn
                            where chstat < '85'
group by CDSTYL ,cdbchn 

您使用的是哪种数据库管理系统?sql server、MySQL等。您是否尝试独立运行每个select以查看是否有错误?IDSTYL和CDSTYL列是否具有相同的类型?根据错误文本,它不是sql server。@Rominus-不完全确定。请参阅原始帖子中的编辑。您使用的是哪些数据库管理系统?sql server、MySQL等。您是否尝试独立运行每个select以查看是否有错误?IDSTYL和CDSTYL列是否具有相同的类型?根据错误文本,它不是sql server。@Rominus-不完全确定。请参阅原始帖子中的编辑。群组成员还应包括CDSTYLE。由于格式问题,我没有看到这一点,但您更正得非常好。。。作品group by CDSTYL,CDBCHN group by还应该包括CDSTYLE。由于格式问题,我没有看到这一点,但您的回答非常正确。。。作品按CDSTYL、CDBCHN分组