2016-04-18 4 views
1

Ich habe eine Abfrage, die so etwas wie folgt aussieht:Wie finde ich Minimum aus einer Menge von Minimum in einer Abfrage?

Select min(x) from A 
UNION 
Select min(x) from B 
UNION 
Select min(x) from C 
. 
. 
. 
Select min(x) from Z 

Nun, ich möchte das Minimum dieser Werte zurückzukehren, um eine SELECT-Anweisung. Ist es möglich, wenn ich DB2 als meine Datenbank benutze?

P.S. : Ich bin mir bewusst, dass ich die Ausgabe der oben genannten in Temp-Tabelle einfügen und die Min von dort bekommen kann. Aber die Insert-Operation ist teuer, da die meisten von ihnen> 1BN Zeilen haben.

Dank

Antwort

0

Sie könnten es tun, um eine verschachtelte SELECT mit:

SELECT MIN(V) FROM (
    Select min(x) AS V from A 
    UNION 
    Select min(x) AS V from B 
    UNION 
    Select min(x) AS V from C 
    . 
    . 
    . 
    Select min(x) AS V from Z 
) t 

Da Sie eine Aggregatfunktion auf die Werte anwenden, können Sie auch ersetzen UNION mit UNION ALL.

+0

Dank @dasblinkenlight, arbeitete wie ein Charme! – scissorHands