2016-11-06 42 views
1

我想寫一個查詢,1)工作和2)顯示有意義的信息。Oracle Application Express SQL查詢顯示有意義的信息

但是,我似乎無法完成這兩種情況。這兩個代碼在一定程度上都起作用。我的SQL查詢通過顯示用戶需要的所有有用信息而工作,但是當您單擊編輯按鈕時,它不能正確鏈接,因此它不會允許用戶更新該行。另一個只顯示鍵和rowid,但是當你點擊編輯時,顯示信息並允許更新。

爲了不讓另一個低估的問題,我已經拍攝了每個場景的圖片來展示問題,但最終我需要展示有意義的信息:對於絕大多數人來說,ID或密鑰是沒有意義的的用戶。

這裏是我的代碼

SELECT APPLICATIONS.APP_ID, APPLICATIONS.SRN, STUDENTS.SURNAME, STUDENTS.FORENAME, APP_STATUS.STATUS, METHODS.METHOD, JOBS.JOB_TITLE, APPLICATIONS.APP_DATE 
FROM APPLICATIONS 
JOIN STUDENTS 
ON APPLICATIONS.SRN = STUDENTS.SRN 
JOIN APP_STATUS 
ON APPLICATIONS.STATUS_ID = APP_STATUS.STATUS_ID 
JOIN METHODS 
ON APPLICATIONS.METHOD_ID = METHODS.METHOD_ID 
JOIN JOBS 
ON APPLICATIONS.JOB_ID = JOBS.JOB_ID; 

,這裏是它的圖片在行動 My query in action

my query not allowing update

下面是不顯示的有意義的信息,但沒有工作的代碼。

select "ROWID", 
"APP_ID", 
"SRN", 
"STATUS_ID", 
"METHOD_ID", 
"JOB_ID", 
"APP_DATE" 
from "#OWNER#"."APPLICATIONS" 

In action

working as it should

如果我知道如何正確使用ROWID我相信這是一個簡單的壯舉,但我不這樣,如果我能得到任何幫助,這將是有益

//編輯 誰曾將其重命名爲Application Expression爲什麼?我正在使用的是Apex Application Express,它是相關信息被更改爲某些錯誤,這可能會使稍後遇到類似問題的人很難。

+0

我們應該如何確定「有意義的信息」的含義? – OldProgrammer

+0

Per @ OldProgrammer,你需要在你想要顯示的信息中更加精確。我們至少需要知道您要展示的列。從那裏開始。幫助我們幫助你。 – Joe

+0

但我在第一個查詢中顯示了我想要的內容,第二個是有效的。 –

回答

1

在第二個簡單的查詢中,apex可以確定您正在嘗試編輯哪個表(和記錄)。

在第一個查詢中,使用連接,它無法確定要編輯的查詢中的五個表中的哪一個。您可能希望編輯鏈接將該行的主鍵從APPLICATIONS傳遞到子頁面。您需要在該頁面中構建將查找表(例如狀態)映射到APPLICATIONS表中所需值的任何邏輯(值列表等)。

+0

感謝您的意見 –

+0

也很感謝您閱讀我的問題絕對這是我正在尋找的答案。 –