SELECT DISTINCT T04.ROL_ID
          FROM SYSUSER T01, ROLERIGHT T02, RIGHTSET T03, ROLEADMINISTER T04
         WHERE T01.ROL_ID = T04.ROL_ID
           AND T04.ROL_ID = T02.ROL_ID
           AND T02.RIT_ID = T03.RIT_ID
           AND T01.User_Id = '1'
SELECT USER_ID,
       USER_NAME,
       USER_INPUTDATE,
       USER_OPERATOR,
       DECODE(USER_STATUS, 0, '禁用', 1, '启用') AS USER_STATUS,
       ROL_ID = (上面查到的值而且上面的值是唯一的) ,就是说我怎么能把上面查到的值赋给另一个查询语句的一个字段,有这种做法么。谁知道,教教我!
       FROM SYSUSER ;

解决方案 »

  1.   

    SELECT S.USER_ID,
      S.USER_NAME,
      S.USER_INPUTDATE,
      S.USER_OPERATOR,
      DECODE(S.USER_STATUS, 0, '禁用', 1, '启用') AS USER_STATUS,
      T.ROL_ID
      FROM SYSUSER S,
      (SELECT DISTINCT T04.ROL_ID
      FROM SYSUSER T01, ROLERIGHT T02, RIGHTSET T03, ROLEADMINISTER T04
      WHERE T01.ROL_ID = T04.ROL_ID
      AND T04.ROL_ID = T02.ROL_ID
      AND T02.RIT_ID = T03.RIT_ID
      AND T01.User_Id = '1') T
      

  2.   

    SELECT USER_ID,
      USER_NAME,
      USER_INPUTDATE,
      USER_OPERATOR,
      DECODE(USER_STATUS, 0, '禁用', 1, '启用') AS USER_STATUS,
      (select ROL_ID from (SELECT DISTINCT T04.ROL_ID
      FROM SYSUSER T01, ROLERIGHT T02, RIGHTSET T03, ROLEADMINISTER T04
      WHERE T01.ROL_ID = T04.ROL_ID
      AND T04.ROL_ID = T02.ROL_ID
      AND T02.RIT_ID = T03.RIT_ID
      AND T01.User_Id = '1') t where t.ROL_ID=a.ROL_ID) ROL_ID
    from sysuser a