2012-04-04 16 views
-3

私は、user_nameのエントリにその特定のuser_nameの下に責任を表示する必要があるクエリを作成する必要があります。どうやってやるの?使用すべきである テーブルは以下のとおりです。4クエリに参加する

FND_USER 
FND_RESPONSIBILITITY_VL 
FND_APPLICATION_VL 
FND_USER_RESP_GROUPS_DIRECT 

... ユーザ名は必須フィールドです助けてください。

+0

これまでの内容は? –

+0

詳細(プラットフォーム、ベンダー、テーブル定義など) –

+2

-1をご提供ください。テーブル間の関係を知らずに、私たちは推測するだろう。私たちがあなたの質問にもっと正確に答えてくれるように、できるだけ多くの推測を削除してください。 – Neil

答えて

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; 

が、それはdoesnの場合でも、うまくいけば正しい軌道に乗せてくれるはずです:

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

FROM fnd_user fu、fnd_responsibility_vl frv、fnd_user_resp_groups_direct fur、fnd_application_vlのように、fw.user_name、frv.responsibility_name、fa.application_name、decode(fur.security_group_id、0、 'Standard'、null)セキュリティグループ、frv.start_date、 fa WHERE fur.user_id = fu.user_id AND fur.responsibility_id = frv.responsibility_id AND fur.responsibility_application_id = fa.application_id AND(fu.start_dateとnvl(fu.end_date、sysdate)の間のsysdate)AND(sysdateとfrv.start_dateとの間のsysdate nvl(frv.end_date、sysdate))AND fu.user_name =:usr ANDfrv.responsibility_name = nvl(:resp、frv.responsibility_name); – user1213555

+0

これは私が書いたものですが、バインド変数usrとrespは宣言されていません。これを宣言する必要がありますか?このクエリはyestを働かせました。今はエラーになります。私もあなたが示唆したクエリを試みたが、同じエラーがポップアップします。 – user1213555

+0

@ user1213555 sqlの実行に使用しているコードで質問を更新する必要がありますが、正しく設定していないように思えます。 –

関連する問題