Я создал сложный запрос для своей базы данных доступа, и при доступе он работает как чудо.Но когда я пытаюсь выполнить тот же запрос в моей программе через OleDB, я получаю исключение «Синтаксическая ошибка в операции соединения».Никакой дополнительной информации.
SELECT
MainTable.Main_dbID,
D0.Kvp_Value AS ["Value"]
FROM (MainTable
INNER JOIN (
SELECT Main_dbID, Kvp_Value
FROM KVPTable
WHERE Kvp_Code IN (1, 2, 4)
) AS D0
ON D0.Main_dbID = MainTable.Main_dbID)
WHERE Main_Time <= ? AND Main_Time >= ?;
Я разбил запрос так, как мне показалось, что он все еще является представительным.Причина, по которой я использую вложенный выбор вместо прямого объединения, заключается в том, что мне нужно присоединиться к моей таблице значений ключей несколько раз, чтобы поместить разные ключи в разные столбцы.Я не мог заставить это работать по-другому.
Я работаю с C # 2.0 и Visual Studio 2008 на случай, если это актуально.