Есть ли способ вернуть только ОДНУ запись, чтобы я мог получать все вызовы столбцов с помощью приведенного ниже кода?
using (var reader = await command.ExecuteReaderAsync(CommandBehavior.SequentialAccess).ConfigureAwait(false))
{
DataTable dtResults = new DataTable();
dtResults.Load(reader);
return dtResults;
}
Так что сейчас это вернет ВСЕ X записей из запроса, и я только нужно вернуть 1 запись, чтобы я мог подключить столбцы типов данных et c. в мой элемент управления Grid.
Мы не можем просто добавить SELECT Top 1
, потому что некоторые запросы начинаются с CTE et c.
Мы не можем обернуть его вокруг другого запроса, потому что иногда запрос имеет Order By
s
Мы не можем заставить пользователей добавить отдельный запрос, который будет имитировать c, что мы хотим сделать.
Вот ошибка:
Сообщение 1033, Уровень 15, Состояние 1, Строка 40
Предложение ORDER BY недопустимо в представлениях, встроенных функциях, производных таблицах, подзапросах и общие табличные выражения, если также не указано TOP, OFFSET или FOR XML.
Вот запрос:
SELECT TOP 1 *
FROM
(SELECT O.Department, O.ID
FROM dbo.table1 e
LEFT JOIN dbo.table2 O ON e.Department = O.Department
ORDER BY ID) x