Добрый день, господа.
Существует запрос. Весь приводить не буду, только важные моменты.
SELECT * FROM tbl1 LEFT JOIN tbl2 USING(field1) WHERE tbl2.field2 > 0;
Проблема в том, что в таблице между tbl1 и tbl2 отношение один ко многим, а извлечь необходимо только одну строчку, у которой значение даты самое позднее.
Запрос вида ниже можно не предлагать, к сожалению, он сильно просаживает производительность в нашей ситуации. Если более производительных/лаконичных вариантов нет - напишите.
SELECT * FROM tbl1
LEFT JOIN tbl2 ON tbl2.pk = (SELECT pk FROM tbl2 WHERE tbl2.field1 = tbl1.field1 ORDER BY ... LIMIT 1)
WHERE tbl2.field2 > 0