В запросе используется UNION ALL, а строка существует только во втором операторе SELECT:
Код: Выделить всё
SELECT
A.Appointment_Id,
A.Appointment_Date,
-- other columns
FROM Appointments A (NOLOCK)
LEFT JOIN Some_Table ST (NOLOCK) ST.Id = A.Appointment_Id
-- more tables using LEFT JOIN
WHERE A.Appointment_Date BETWEEN '07/01/2024 00:00:00' AND '07/31/2024 23:59:59'
UNION ALL
SELECT
DA.Appointment_Id,
DA.Appointment_Date,
-- other columns
FROM Deleted_Appointments DA (NOLOCK)
LEFT JOIN Some_Table ST (NOLOCK) ST.Id = DA.Appointment_Id
-- more tables using LEFT JOIN
WHERE DA.Appointment_Date BETWEEN '07/01/2024 00:00:00' AND '07/31/2024 23:59:59'
Код: Выделить всё
public async Task GetAppointments(/* parameters */)
{
// my SQL query
using var con = connectionFactory.CreateConnection();
var result = await con.QueryAsync(sql.ToString());
return result.ToList();
}
Я сравнил тот же запрос с запросом из Visual Basic API, и они оба отображают его так, как должно при выполнении. в SSMS Microsoft.
Реализация VB также возвращает его правильно.
Подробнее здесь: https://stackoverflow.com/questions/788 ... -union-all
Мобильная версия