Information ausblenden
Willkommen im Forum für alle Datenbanken! Registriere Dich kostenlos und diskutiere über DBs wie Mysql, MariaDB, Oracle, Sql-Server, Postgres, Access uvm

Unterabfrage Korreliert

Dieses Thema im Forum "Microsoft SQL Server" wurde erstellt von Twin322, 3 Juni 2015.

  1. Twin322

    Twin322 Neuer Benutzer

    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 von einem Moderator bearbeitet: 3 Juni 2015
  2. Distrilec

    Distrilec Datenbank-Guru

    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;
     
Die Seite wird geladen...

Diese Seite empfehlen

  1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden