显示登录名而不是User_id

时间:2016-02-02 11:52:51

标签: mysql oracle

xxcus.xxacl_pn_employee_v表格我得到LOGIN_NAME,如下所示

LOGIN NAME

我希望在哪里显示数据,列为CREATED_BY,表名为xxacl_pn_flat_status_hisUser_ID5681

我尝试过以下查询,但我得到了User_id而不是LOGIN_NAME

SELECT   *
FROM (SELECT   ROWNUM srno, pn.project_id AS project_id, pn.property_name,
               pn.building, pn.building_id AS building_id,
               cd.flat_id AS flat_id, ab.flat_status, ab.comments,
               ab.created_by,
               TO_CHAR (ab.creation_date, 'dd/MM/yyyy') AS creation_date
          FROM xxcus.xxacl_pn_projbuild_v pn INNER JOIN xxacl_pn_flat_status_his ab
               ON pn.project_id = ab.project_id
             AND pn.building_id = ab.building_id
               INNER JOIN xxacl_pn_flat_det_v cd ON cd.flat_id =
                                                                ab.flat_id
               INNER JOIN xxcus.xxacl_pn_employee_v emp
               ON ab.created_by = emp.user_id
         WHERE ab.delete_flag = 'N' AND cd.flat_id = '9987'
      ORDER BY ab.creation_date) pp ORDER BY 1 DESC

所以我的问题是

  

我无法获得LOGIN_NAME

我在这里做错了什么?

我正在使用ORACLE

1 个答案:

答案 0 :(得分:1)

您的查询中未包含LOGIN_NAME。试试这个:

SELECT *
FROM (
    SELECT ROWNUM srno
        ,pn.project_id AS project_id
        ,pn.property_name
        ,pn.building
        ,pn.building_id AS building_id
        ,cd.flat_id AS flat_id
        ,ab.flat_status
        ,ab.comments
        ,ab.created_by
        ,emp.LOGIN_NAME -- <== Query Login name here
        ,TO_CHAR(ab.creation_date, 'dd/MM/yyyy') AS creation_date
    FROM xxcus.xxacl_pn_projbuild_v pn
    INNER JOIN xxacl_pn_flat_status_his ab
        ON pn.project_id = ab.project_id
            AND pn.building_id = ab.building_id
    INNER JOIN xxacl_pn_flat_det_v cd
        ON cd.flat_id = ab.flat_id
    INNER JOIN xxcus.xxacl_pn_employee_v emp
        ON ab.created_by = emp.user_id
    WHERE ab.delete_flag = 'N'
        AND cd.flat_id = '9987'
    ORDER BY ab.creation_date
    ) pp
ORDER BY 1 DESC