Последний идентификатор InvoiceID и соответствующие поля должны быть выбраны. Весь sql содержит несколько внутренних объединений.
SELECT max(InvoiceID),
InvoiceEndDate
FROM Invoices
WHERE TransactionOrderItemID = '000831'
Прямо сейчас, я получаю InvoiceID, и вам нужно снова получить InvoiceEndDate.
Есть ли эффективный способ сделать это?
SELECT InvoiceID, InvoiceEndDate
FROM Invoices
WHERE TransactionOrderItemID='000831'
ORDER BY InvoiceID DESC
LIMIT 1
SELECT InvoiceID, InvoiceEndDate
FROM Invoices INV
WHERE TransactionOrderItemID='000831'
AND INV.InvoiceID = (SELECT MAX(SUB.InvoiceID)
FROM Invoices SUB WHERE SUB.TransactionOrderItemID='000831');
Взгляните на Включая связанные значения столбца с объединенным столбцом, в котором есть несколько способов сделать это