Это раздражающе сложно.Вам будет выгоднее использовать флаг "победитель" в каждом выигрышном аукционе.
SELECT * FROM auctions a
INNER JOIN
(
/* now get just the winning rows */
SELECT * FROM auction_bids x
INNER JOIN
(
/* how to tell the winners */
SELECT auction_id, MAX(bid_amount) as winner
FROM auction_bids
GROUP BY auction_id
) y
ON x.auction_id = y.auction_id
AND x.bid_amount = y.winner
) b
ON a.auction_id = b.auction_id
Обратите внимание, что аукционы с нулевой ставкой вообще не будут перечислены, а аукционы со связями (может ли это случиться?)появляются один раз для каждой связанной ставки.