Problem Abhängikeiten mit Greatest

irgendwer33

Grünschnabel
Hallo Leute, habe folgendes SQL-Oracle-Statement erstellt:

Code:
SELECT ABS(MED-STDMAX) AS "MAX", ("MAXFLUGID"), ABS(MED-STDMIN) AS "MIN" , ("MINFLUGID") FROM (
SELECT * FROM (     
      SELECT fzg.flugstunden_gesamt AS "MED", fzg.flugzeugid AS "MEDFLUGID"
      FROM flugzeugcool fzg,
           flugzeugtypcool ftp
      WHERE fzg.flugzeugtypid = ftp.flugzeugtypid
      ORDER BY fzg.flugstunden_gesamt
     )
WHERE rownum < = (
                    SELECT TRUNC((COUNT(*)+1)/2) AS "MED" FROM
                    (SELECT flugstunden_gesamt FROM 
                    (SELECT *
                    FROM flugzeugcool fzg,
                         flugzeugtypcool ftp
                    WHERE fzg.flugzeugtypid = ftp.flugzeugtypid
                    ORDER BY fzg.flugstunden_gesamt))
								 )

MINUS

SELECT *
FROM (      
      SELECT fzg.flugstunden_gesamt, fzg.flugzeugid
      FROM flugzeugcool fzg,
           flugzeugtypcool ftp
      WHERE fzg.flugzeugtypid = ftp.flugzeugtypid
      ORDER BY fzg.flugstunden_gesamt
     )
WHERE rownum <= ((
                    SELECT TRUNC((COUNT(*)+1)/2) AS "MED" FROM
                    (SELECT flugstunden_gesamt FROM 
                    (SELECT *
                    FROM flugzeugcool fzg,
                         flugzeugtypcool ftp
                    WHERE fzg.flugzeugtypid = ftp.flugzeugtypid
                    ORDER BY fzg.flugstunden_gesamt))
								 ) - 1)

)

,

(
SELECT fzg.flugstunden_gesamt AS "STDMIN", fzg.flugzeugid AS "MINFLUGID"
FROM flugzeugCOOL fzg,
     flugzeugtypCOOL ftp
WHERE fzg.flugzeugtypid = ftp.flugzeugtypid
AND   fzg.flugstunden_gesamt = (SELECT MIN (fzg.flugstunden_gesamt) FROM flugzeugCOOL fzg)
)

,

(

SELECT (fzg.flugstunden_gesamt) AS "STDMAX", fzg.flugzeugid AS "MAXFLUGID"
FROM flugzeugCOOL fzg,
     flugzeugtypCOOL ftp
WHERE fzg.flugzeugtypid = ftp.flugzeugtypid
AND   fzg.flugstunden_gesamt = (SELECT MAX (fzg.flugstunden_gesamt) FROM flugzeugCOOL fzg)

)
 WHERE rownum <2

Das Problem, dass ich habe ist, dass ich den größten MAX Oder MIN WERT brauche, was ja mit greatest gehen soll, aber in Abhängigkeit zum größten MAX oder MIN Wert benötige ich auch die FLUGID. Das heißt ist der MAX Wert größer, dann brauche ich den Wert und die MAXFLUGID, ist der MIN Wert größer, dann brauche ich in einer Zeile ausgeben den MIN Wert und die MINFLUGID. Also nicht so, wie ich es gemacht habe.

Bitte um Hilfe!

irgendwer33
 

Neue Beiträge

Zurück