SQL - выбор полей максимального идентификатора

0

Последний идентификатор InvoiceID и соответствующие поля должны быть выбраны. Весь sql содержит несколько внутренних объединений.

SELECT max(InvoiceID), 
       InvoiceEndDate 
  FROM Invoices 
 WHERE TransactionOrderItemID = '000831'

Прямо сейчас, я получаю InvoiceID, и вам нужно снова получить InvoiceEndDate.

Есть ли эффективный способ сделать это?

Теги:

3 ответа

4
SELECT InvoiceID, InvoiceEndDate 
FROM Invoices 
WHERE TransactionOrderItemID='000831'
ORDER BY InvoiceID DESC
LIMIT 1
  • 0
    Рад, что увидел это. Если это работает, это намного проще, чем я собирался предложить ...
  • 2
    OP говорит MySQL, поэтому LIMIT 1 будет необходим после заказа вместо TOP 1 перед списком выбора.
Показать ещё 1 комментарий
0
SELECT InvoiceID, InvoiceEndDate 
FROM Invoices INV
WHERE TransactionOrderItemID='000831'
  AND INV.InvoiceID = (SELECT MAX(SUB.InvoiceID)
    FROM Invoices SUB WHERE SUB.TransactionOrderItemID='000831');
0

Взгляните на Включая связанные значения столбца с объединенным столбцом, в котором есть несколько способов сделать это

  • 0
    Хорошо, не знал, что это MySQL ... Я увидел TOP в первом ответе и предположил, что это SQl Server.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню