上面贴的不对,修改:我的SQL语句如下
           ls_sql = "SELECT T_DATA_NOTIFY.NODE_ID,T_SJTZ_ROLE_AND_NOTIFY.NOTIFY_ID,T_DATA_NOTIFY.NOTIFY_NAME,T_DATA_NOTIFY.RUN_TIME FROM T_SJTZ_USER_AND_ROLE,T_SJTZ_ROLE_AND_NOTIFY,T_DATA_NOTIFY WHERE  T_SJTZ_USER_AND_ROLE.ROLE_ID = T_SJTZ_ROLE_AND_NOTIFY.ROLE_ID AND T_SJTZ_ROLE_AND_NOTIFY.NOTIFY_ID = T_DATA_NOTIFY.NOTIFY_ID group BY T_DATA_NOTIFY.NODE_ID ";java.sql.SQLEXception :not a group by expression
还有一个问题,分组以后如何得到每个组内的数据呢??怎么写??

解决方案 »

  1.   

    group by 中的字段T_DATA_NOTIFY.NODE_ID 没有在包含在select的字段列表中,所以出错
      

  2.   

    你的sql看的够累人的,
    ls_sql = "SELECT C.NODE_ID,B.NOTIFY_ID,C.NOTIFY_NAME,C.RUN_TIME FROM T_SJTZ_USER_AND_ROLE A,T_SJTZ_ROLE_AND_NOTIFY B,T_DATA_NOTIFY C WHERE  A.ROLE_ID = B.ROLE_ID AND B.NOTIFY_ID = C.NOTIFY_ID group BY C.NODE_ID ";
    什么原因我不知道了,呵呵!
    组内的数据你应该先得到一组NODE_ID吧!然后对某一个进行查询就可以吧
      

  3.   

    SELECT c.NODE_ID,T_SJTZ_ROLE_AND_NOTIFY.NOTIFY_ID,
    T_DATA_NOTIFY.NOTIFY_NAME,T_DATA_NOTIFY.RUN_TIME
     FROM T_SJTZ_USER_AND_ROLE,T_SJTZ_ROLE_AND_NOTIFY,T_DATA_NOTIFY,
    (select Node_id from  T_DATA_NOTIFY group by node_id)c 
    WHERE  T_SJTZ_USER_AND_ROLE.ROLE_ID = T_SJTZ_ROLE_AND_NOTIFY.ROLE_ID 
    AND T_SJTZ_ROLE_AND_NOTIFY.NOTIFY_ID = T_DATA_NOTIFY.NOTIFY_ID and
     T_DATA_NOTIFY.node_id=c.node_id