2012-04-04 11 views
-3

Ich muss eine Abfrage erstellen, die auf dem Eintrag des Benutzernamens die Verantwortlichkeiten unter diesem bestimmten Benutzernamen anzeigen soll. Wie kann ich das machen? Die Tabellen, die verwendet werden soll:4 Abfragen verbinden

FND_USER 
FND_RESPONSIBILITITY_VL 
FND_APPLICATION_VL 
FND_USER_RESP_GROUPS_DIRECT 

Bitte helfen ... der Benutzername ist das Pflichtfeld.

+0

was hast du bisher? –

+0

Bitte geben Sie weitere Details an (z. B. Plattform, Anbieter, Tabellendefinitionen usw.) –

+2

-1. Ohne die Beziehung zwischen den Tabellen zu kennen, würden wir raten. Bitte entfernen Sie so viel Ratespiel wie möglich, damit wir Ihre Frage genauer beantworten können und ich werde den Downvote entfernen. – Neil

Antwort

0

müssen Sie der Abfrage mitteilen, welche Bits der Abfragen in den Tabellen übereinstimmen.

basierend auf Ihre Kommentare werden diese ein Anfang Ich denke:

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; 

zu Ihren anderen Tabellen Extrapolation dieses Macht Arbeit, (die wir noch keine Details haben), aber auch wenn es doesn ‚t sollte man auf dem richtigen Weg hoffentlich:

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; 

aber ohne weitere Details wer weiß?

+0

WÄHLEN Sie fu.user_name, frv.responsibility_name, fa.application_name, dekodieren (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_direct fur, fnd_application_vl fa WHERE fur.user_id = fu.user_id UND fur.responsibility_id = frv.responsibility_id UND fur.responsibility_application_id = fa.application_id AND (sysdate zwischen fu.start_date und nvl (fu.end_date, sysdate)) AND (sysdate zwischen frv.start_date und nvl (frv.end_date, sysdate)) UND fu.user_name =: usr ANDfrv.responsibility_name = nvl (: resp. frv.responsibility_name); – user1213555

+0

Das war, was ich geschrieben habe, aber es sagt die Bindevariable usr und resp sind nicht deklariert. Ist es notwendig, dies zu erklären? Die Abfrage hat ja funktioniert. aber jetzt gibt es einen Fehler. Ich habe sogar versucht, die Abfrage, die Sie vorgeschlagen haben, aber der gleiche Fehler erscheint. – user1213555

+0

@ user1213555 Sie müssen Ihre Frage mit dem Code aktualisieren, den Sie verwenden, um zu versuchen und die SQL auszuführen, es klingt, als würden Sie Dinge nicht richtig einrichten. –