2012-04-04 30 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