Запрос доступа не работает в SQL , неправильный синтаксис рядом с "группой"
Всем Привет
Я занят преобразованием запросов доступа для sql server, но не понимаю, почему этот вариант не работает..
SELECT (T1.Debit) As Debit, (T1.Credit) As Credit, (T1.Debit - T1.Credit) As Balance, T1.CustCode FROM ( SELECT SUM(AverageDebit) As Debit, SUM(AverageCredit) As Credit, CustCode FROM ( SELECT (IIF(TransactionType IN (0, 6, 9, 10, 11, 14, 16, 17, 18, 19, 21), ABS(Price1) , 0)) AS AverageDebit, (IIF(TransactionType IN (1, 2, 3, 7, 15, 22), ABS(Price1), 0)) AS AverageCredit, CustCode, TransactionType FROM TransactionHeader WHERE CustCode = 'AA0001' GROUP BY CustCode, TransactionType, Price1, ID) GROUP BY CustCode) As T1
Есть какие-нибудь предложения, что не так с этим запросом ?
Спасибо
Что я уже пробовал:
Удаление группы по,
попробовал еще несколько модификаций ,
Я попробовал следующее , И это работает, не знаю, если это то же самое, что и доступ один Тхо
SELECT (T1.Debit) As Debit, (T1.Credit) As Credit, (T1.Debit - T1.Credit) As Balance, T1.CustCode FROM ( SELECT SUM(AverageDebit) As Debit, SUM(AverageCredit) As Credit, CustCode FROM ( SELECT (IIF(TransactionType IN (0, 6, 9, 10, 11, 14, 16, 17, 18, 19, 21), ABS(Price1) , 0)) AS AverageDebit, (IIF(TransactionType IN (1, 2, 3, 7, 15, 22), ABS(Price1), 0)) AS AverageCredit, CustCode, TransactionType FROM TransactionHeader WHERE CustCode = 'AA0001' GROUP BY CustCode,TransactionType,Price1 )AS TS2 GROUP BY TS2.CustCode ) As T1
David_Wimbley
Какова точная ошибка, которую вы получаете? Это что-то вроде (это sql server) столбец " недопустим в списке выбора, потому что он не содержится ни в агрегатной функции, ни в предложении GROUP BY.
Кроме того, если это одноразовый запрос или если вы можете это сделать, то, похоже, у вас есть 2 глубоких запроса к субтаблицам, которые также могут быть частью проблемы (вы не публиковали схему, и я не пытался воссоздать ее), поэтому, если вы можете, вы можете рассмотреть возможность использования временной таблицы для загрузки данных и массирования их там, а не создавать огромный запрос. Это может облегчить работу, но я ничего не знаю о вашем проекте.