Unterabfrage Korreliert

Twin322

Neuer Benutzer
Beiträge
1
Guten Tag ,

Ich arbeite gerade an einer Abfrage die ich, so nehme ich an unkorreliert wie folgt aussieht.

Code:
SELECT *,mi.MitID FROM Mitarbeiter mi,
   (SELECT MitID,z.ProNr,Plananteil FROM Zuordnung z, (
   SELECT ProNR, MAX(Plananteil) pa FROM Zuordnung
   GROUP BY ProNr) ua
   WHERE z.Plananteil= ua.pa AND z.ProNr=ua.ProNr
   ) ab
   WHERE mi.MitID = ab.MitID

Nur will mir nicht klar werden wie ich daraus eine korrelierte Abfrage erstelle.
 
Zuletzt bearbeitet von einem Moderator:
Werbung:
Wenn ich nicht ganz irre...
Müsste das so etwas sein:
Code:
Select m.mitid

From   mitarbeiter m

Where  Exists (Select 1
               From   zuordnung z
                     ,(Select pronr
                             ,Max(plananteil) pa
                       From   zuordnung
                       Group  By pronr) ua
               Where  z.plananteil = ua.pa
               And    z.pronr = ua.pronr
               And    z.mitid = m.mitid)

Aber wäre es nicht sinnvoller den zweiten Table Access zu vermeiden?
So in etwa? (Oracle-Syntax):
Code:
Select Distinct Max(z.mitid) keep(dense_rank First Order By z.plananteil Desc) over(Partition By z.pronr)
From   zuordnung z;
 
Zurück
Oben