2010-08-07 15 views

Répondre

15

Vous pouvez utiliser les GREATEST function:

SELECT GREATEST((SELECT MAX(column) 
        FROM TABLE_1), 
       (SELECT MAX(column) 
        FROM TABLE_2)) 

UNIONs Utilisation:

SELECT MAX(col) 
    FROM (SELECT col FROM TABLE_1 
     UNION ALL 
     SELECT col FROM TABLE_2) 

Utilisez UNION ALL pour cela - il est plus rapide car il ne supprime pas les doublons, et il n'a pas si les doublons sont renvoyés par la sous-requête dans cet exemple.

+1

La deuxième solution nécessite de définir un alias pour la table dérivée: 'SELECT MAX (col) FROM (...) AS alias_name' – Genhis

3
SELECT MAX(thedate) FROM (
    SELECT mydate as thedate FROM TABLE1 

    UNION 

    SELECT anotherdate as thedate FROM TABLE2 
) as tablealias