scusami, non riesco bene a capire che dati deve prendere la seconda query dalla prima (sono un po' assonnato stasera)
comunque hai provato con una sub select?

qualcosa tipo:

SELECT tabella.campo FROM tabella WHERE tabella.campoChiave = (SELECT MAX(..) .. FROM .. WHERE ...)

cambia l'uguale con IN se la subselect restituisce più di un valore