String sql="select A.TIME, '出入库类型' as CRKTYPE,sum(A.NUMBER) AS NUMBER,sum(A.TOTAL) AS TOTAL,"
+" CASE F.PRODLEVEL WHEN '1' THEN '原厂' WHEN '2' THEN '正厂' WHEN '3' THEN '副厂' WHEN '4' THEN '品牌' WHEN '5' THEN '拆车件' END AS PRODLEVEL,"
+" CONCAT(I.className,'->',H.className,'->',g.className) as CLASSNAME,F.NO,F.PRODNAME,F.OENO,F.UNIT_ID"
+" FROM "
+" (select A.TIME,A.ID,'销售出库' as CRKTYPE,B.NUM AS NUMBER,B.PRICE AS PRICE,B.NUM*B.PRICE AS TOTAL,"
+" A.STORAGE_ID AS D_STORAGE_ID,B.LOCATION_ID,A.AUDIT_STATUS,A.COMPANY_ID"
+" from jxc_t_outbound_info A"
+" left join jxc_t_outbound_detailed B on A.ID=B.OUTBOUND_ID "
+" UNION "
+" select C.P_DATE AS TIME, C.ID,'采购入库' as CRKTYPE,D.P_NUMBER AS NUMBER,D.P_PRICE AS PRICE,D.P_NUMBER*D.P_PRICE AS TOTAL,"
+" C.D_STORAGE_ID AS D_STORAGE_ID,D.LOCATION_ID,C.AUDIT_STATUS,C.COMPANY_ID "
+" from jxc_t_purchase C left join jxc_t_purchase_detail D on C.ID=D.P_PURCHASE_ID ) A "
+" left join jxc_t_products F on A.ID=F.ID "
+" left join shopping_goodsclass G on G.ID=F.GOODSCLASS_ID"
+" left join shopping_goodsclass H on H.ID=G.parent_id "
+" left join shopping_goodsclass I on I.ID=H.parent_id"
+" where A.AUDIT_STATUS='3'";
总是提示 Column Index out of range, 10 > 9. 为什么?
sql本身没有错误,是你在读取字段的时候,是不是下标搞错了,查询出来只有9个字段,你有没有类似
u.setName(rs.getString(10)); //超过列数
这样的语句
查询出现这种情况,多数是关联查询的时候字段匹配混乱,出现字段超出起始表的字段,建议检查检查表字段,以及语句放入数据库运行试试