由于一些限制(我在这里不再赘述)。.我们的体系结构正在使用通过ODBC SQL Server驱动程序运行的Access中的查询。
以下查询产生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)中项目的数量范围。
请注意,“ scanned”是SQL Server中的BIT字段(因此,Group1,Label,ColumnId也是位)。我相信这就是GROUP BY和ORDER BY将其视为常量(值= 0)并导致这些错误的原因。
但是我不知道如何解决这些问题。任何建议都很棒!
PS-使用2个子查询的原因是由于其他限制,我们试图获取看板中某列的ID,标签,计数。
答案 0 :(得分:0)
基于DRapp的评论和建议。以下工作:
Widget makeBody(BuildContext context) => Container(
height: MediaQuery.of(context).size.height / 1.5,
child: ListView.builder(
scrollDirection: Axis.vertical,
shrinkWrap: true,
itemCount: lessons.length,
itemBuilder: (BuildContext context, int index) {
return makeCard(lessons[index]);
},
),
);
return Scaffold(
backgroundColor: Color.fromRGBO(58, 66, 86, 1.0),
appBar: topAppBar,
body: makeBody(context),
bottomNavigationBar: makeBottom,
);
不理想(因为第一个子查询是动态生成的,并且如果组字段是位,则现在需要额外的处理。但是可以使用!仍然对任何其他解决方案开放。