2017-10-18 67 views
0

下面查询APP_USER得到的结果在结果中1 列出我想它显示为结果集2 IE登录的用户示出了第一排序方式中的Oracle APEX

SELECT CLIENT_ID, 
       CLIENT_BRANCH BRANCH, 
     ACCOUNT_NO, 
     CLIENT_SPECIALIST 
    FROM CL$CLIENTS 
WHERE COMPANY_ID = :P0_COMPANY_ID 

当前结果

Client_id Branch      Account_no CLIENT_SPECIALIST 
1000001034 Training Force Isando  FTEC01  LAUREN 
1000001035 Training Force Isando  EZUL01  Jack 
1000001798 Training Force Isando  ISMEP02  SAMUEL 
1000002064 Training Force Parktown  TTEL01  LAUREN 
1000002191 Phalaborwa     FOSK01  WICKUS 
1000002314 Training Force Nelspruit  RUD01  ERICK 
1000002318 Training Force Phalaborwa SUS08  ZANELE 

查询:

SELECT CLIENT_ID, 
        CLIENT_BRANCH BRANCH, 
      ACCOUNT_NO, 
      CLIENT_SPECIALIST 
     FROM CL$CLIENTS 
    WHERE COMPANY_ID = :P0_COMPANY_ID 
    ORDER by :APP_USER (First) 

需要的结果

Client_id Branch      Account_no CLIENT_SPECIALIST 
1000001034 Training Force Isando  FTEC01  LAUREN 
1000002064 Training Force Parktown  TTEL01  LAUREN 
1000002191 Phalaborwa     FOSK01  WICKUS 
1000002314 Training Force Nelspruit  RUD01  ERICK 
1000002318 Training Force Phalaborwa SUS08  ZANELE 
1000001035 Training Force Isando  EZUL01  Jack 
1000001798 Training Force Isando  ISMEP02  SAMUEL 
+0

是在CLIENT_SPECIALIST“劳伦”的应用程序的用户? – GurV

+0

是的,但要求可能是杰克或塞缪尔登录,谢谢 –

回答

0

假设应用程序用户存在于Client_specialist列,你可以使用在顺序CASE by子句生成自定义排序:

SELECT CLIENT_ID, 
    CLIENT_BRANCH BRANCH, 
    ACCOUNT_NO, 
    CLIENT_SPECIALIST 
FROM CL$CLIENTS 
WHERE COMPANY_ID = :P0_COMPANY_ID 
order by case when CLIENT_SPECIALIST = :APP_USER then 0 else 1 end; 
+0

感谢这很好的作品 –