2012-04-04 101 views
-3

我必須創建一個查詢,該查詢對user_name的條目應顯示該特定user_name下的責任。我怎樣才能做到這一點? 應使用的表是:加入4個查詢

FND_USER 
FND_RESPONSIBILITITY_VL 
FND_APPLICATION_VL 
FND_USER_RESP_GROUPS_DIRECT 

請幫助... 的用戶名是必填字段。

+0

你到目前爲止有什麼? – 2012-04-04 13:48:20

+0

請提供更多詳細信息(如平臺,供應商,表格定義等) – 2012-04-04 13:48:21

+2

-1。不知道表格之間的關係,我們會猜測。請刪除儘可能多的猜測,以便我們可以更準確地回答您的問題,並刪除downvote。 – Neil 2012-04-04 13:48:56

回答

0

您需要告訴查詢哪些位的查詢在表中是相同的。

根據您的意見,這將是一個開始,我認爲:

Select FND_USER.*, FND_USER_RESP_GROUPS_DIRECT.responsibility_id 
FROM FND_USER, FND_USER_RESP_GROUPS_DIRECT 
WHERE user_name = :usr 
AND FND_USER.user_id=FND_USER_RESP_GROUPS_DIRECT.user_id; 

外推到其他表(我們沒有任何細節)這個威力工作,但即使它不「T應該把你在正確的軌道上的希望:

Select FND_USER.*, FND_USER_RESP_GROUPS_DIRECT.responsibility_id, FND_responsibility_vl.*, FND_application_vl.* 
FROM FND_USER, FND_USER_RESP_GROUPS_DIRECT, FND_responsibility_vl, FND_application_vl 
WHERE user_name = :usr 
AND FND_USER.user_id=FND_USER_RESP_GROUPS_DIRECT.user_id 
AND FND_USER.user_id=FND_responsibility_vl.user_id 
AND FND_USER.user_id=FND_application_vl.user_id; 

,但沒有更多的細節,誰知道?

+0

SELECT fu.user_name,frv.responsibility_name,fa.application_name,decode(fur.security_group_id,0,'Standard',null)security_group,frv.start_date - ,fur。* FROM fnd_user fu,fnd_responsibility_vl frv,fnd_user_resp_groups_directflo,fnd_application_vl fa WHERE fur.user_id = fu.user_id AND fur.responsibility_id = frv.responsibility_id AND fur.responsibility_application_id = fa.application_id AND(sys.date之間fu.start_date和nvl(fu.end_date,sysdate))AND(sysdate之間frv.start_date和nvl(frv.end_date,sysdate))AND fu.user_name =:usr ANDfrv.responsibility_name = nvl(:resp,frv.responsibility_name); – user1213555 2012-04-05 05:08:03

+0

這是我寫的,但它表示綁定變量usr和resp沒有聲明。是否有必要聲明這一點?查詢工作很好。但現在它給出了一個錯誤。我甚至嘗試了你建議的查詢,但同樣的錯誤彈出。 – user1213555 2012-04-05 05:10:06

+0

@ user1213555你需要用你用來嘗試和執行sql的代碼來更新你的問題,這聽起來像你沒有正確設置。 – 2012-04-05 06:50:39