The following query doesn't work, because Firebird (2.1) won't recognize the subquery's column. How can I rewrite it to work?
SELECT I.InvoiceID,
I.PayByDate,
(SELECT FIRST 1 I2.PayByDate
FROM Invoices I2
WHERE I2.OriginalInvoiceID = I.InvoiceID
AND I2.IsDraft < 1
ORDER BY I2.InvoiceID DESC) AS NewPayByDate
FROM Invoices I
WHERE
I.IsDraft < 1
ORDER BY
IIF(NewPayByDate IS NULL,
PayByDate,
NewPayByDate),
I.InvoiceRefNum