У меня есть следующий запрос
SELECT * FROM invoice WHERE invoice_id IN (13, 15, 9, 27)
Мой результат:
invoice_id | invoice_number | ...
------------------------------------
9 | 201006003 |
13 | 201006020 |
15 | 201006022 |
27 | 201006035 |
, который является желаемым набором результатов, за исключением того, что он упорядочен по invoice_id (который является значением автоинкремента).
Теперь я хочу получить результат в порядке, указанном в запросе (13, 15, ...). Есть ли способ добиться этого?
Фон в том, что у меня есть DataTable, привязанный к DataGridView. Пользователь может фильтровать и сортировать результат, но если он хочет напечатать результат, я не использую DataTable для печати, потому что он содержит только самые важные столбцы, и вместо этого я извлекаю целые записи из базы данных и передаю их моему контролю печати. .
Я также пытался расширить существующую таблицу данных с отсутствующими результатами, но это, кажется, медленнее, чем использование запроса IN (...).