select列表中出现的列(聚合函数如max(),min(),sum(),avg()除外),必须出现在group by语句之后
另,你的逻辑应有点混乱,试试下面的SELECT t3.xzqdm,
  t.c_zqcode
FROM gdlyjc.fl_sys_lqzqzd t,
  LBMS_LQJFJL t2,
  (SELECT SUBSTR(t3.SQBBH,0,9) AS xzqdm, sllmldzkdjb_bh FROM LBMS_SLLMLDZKDJB
  ) t3
WHERE t.c_zqcode      =t3.xzqdm
AND t2.sllmldzkdjb_bh = t3.sllmldzkdjb_bh
GROUP BY t3.xzqdm,
  t.c_zqcode

解决方案 »

  1.   

    SELECT 语句有很多特殊的规则,至少你应该熟悉以下几条:
    1.你仅能够使用那些能通过表引用而得来的字段;
    2.如果你有 GROUP BY 语句,你只能够使用 GROUP BY 语句后面的字段或者聚合函数;
    3.当你的语句中没有 GROUP BY 的时候,可以使用开窗函数代替聚合函数;
    4.当你的语句中没有 GROUP BY 的时候,你不能同时使用聚合函数和其它函数;
    5.有一些方法可以将普通函数封装在聚合函数中;
    6.……
      

  2.   

    没有用聚合函数,用GROUP BY是什么意思?