DB2支持distinct啊,贴一下你的语句。

解决方案 »

  1.   

     select distinct a.STAFF_ID as staffId,
           a.STAFF_NAME as staffName,
           a.STAFF_NO as staffNo,
           a.ROLE_ID as roleId,
           a.ROLE_NAME as roleName,
           a.ROLE_TYPE as roleType,
           V.PARENTS   AS parents,
           a.ROLE_BE_NAME as roleBeName
       from view_sys_user_role a
       LEFT OUTER JOIN VIEW_ROLE_DERIVE V ON V.SON_ROLE_ID = a.ROLE_ID
      where 1 = 1 and (a.ROLE_ID is not null or a.ROLE_NAME is not null or a.ROLE_BE_NAME is not null)
        <[ AND a.STAFF_ID = :staffId]> 
      order by a.ROLE_BE_NAME, a.ROLE_NAME 这个语句在oracle里争吵,在db2里出错,把distinct去掉,就能查到数据了。
      

  2.   

    distinct是SQL标准,不支持的可能性为0。可以用group by 所有选择列表字段实现。
      

  3.   

    楼主,你说的不支持,是报错?还是出来的结果跟你想象不一致?
    db2肯定支持distinct