Я использую приложение C#, запрос SQL с оператором выбора. В настоящее время я пишу модульный тест, которые используют в памяти базы данных SqlLite. Так как при выполнении одного и того же запроса на сервере Sql все работает так, как задумано, во время выполнения в моем тесте я получаю исключение «объект является исключением типа из нескольких столбцов».
В запросе я возвращаю результат из более чем одной таблицы, у меня есть два ЛЕВЫХ соединения с условиями. Я заметил, что для одного из столбцов результат возвращает нулевое значение, более или менее это выглядит так:
SELECT
a1.prop1,
a1.prop2,
MAX (a2. prop1) (...) FROM table1 a1
LEFT JOIN table2 a2 на a1.prop3 = a2.prop4 ГДЕ (...)
В приведенном выше примере таблица a2 не имеет записей Вот почему любые значения объединяются, и значение MAX (a2.prop1) всегда равно NULL. Я заметил, что после удаления MAX (a2.prop1) из запроса списка выбора, он возвращает правильные значения из таблицы a1. Поскольку это LEFT JOIN, я немного запутался, почему я получаю «исключение типа многоколонок» вместо значения NULL для этой статистической функции?
Спасибо за любую помощь.