Из-за некоторых ограничений (которые я не буду здесь вдаваться) ... наша архитектура использует запросы в Access, выполняемые через драйвер ODBC SQL Server.
Следующий запрос выдает 2 ошибки:
SELECT Tbl2.columnid,
Tbl2.label,
Tbl2.group1,
Tbl2.group2,
Count(Tbl2.columnid) AS Total
FROM (SELECT scanned AS Group1,
false AS Group2,
scanned AS Label,
scanned AS ColumnID
FROM (SELECT *,
( quantity - productqty ) AS Variance
FROM order_line
WHERE processed = false) AS Tbl1
WHERE wsid = 1 ) AS Tbl2
WHERE Tbl2.columnid = false
GROUP BY Tbl2.group1,
Tbl2.group2,
Tbl2.columnid,
Tbl2.label
ORDER BY Tbl2.group1 DESC,
Tbl2.group2
Ошибка 1: Каждое выражение GROUP BY должно содержать хотя бы один столбец, являющийся внешней ссылкой: (# 164)
Ошибка 2: Номер позиции ORDER BY 0 находится вне диапазона количества элементов в списке выбора (# 108)
Важно отметить, что «отсканированное» - это поле BIT в SQL Server (и, следовательно, Group1, Label, ColumnId также являются битами). Я считаю, что именно поэтому GROUP BY и ORDER BY рассматривают его как константу (значение = 0), что приводит к этим ошибкам.
Но я не знаю, как решить эти проблемы. Любые предложения будут великолепны!
PS - причина, по которой используются 2 подзапроса, связана с другими ограничениями, в которых мы пытаемся получить идентификатор, метку, счет для столбца в канбан.