Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/67.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery MS Access:使用聚合函数MAX时出错_Jquery_Sql_Ms Access_Max - Fatal编程技术网

Jquery MS Access:使用聚合函数MAX时出错

Jquery MS Access:使用聚合函数MAX时出错,jquery,sql,ms-access,max,Jquery,Sql,Ms Access,Max,我无法使聚合函数正常工作。MS Access compalins介绍了我如何使用聚合函数: SELECT Max([RENEW_DATE]) AS Expr1 FROM RENEW_TRANSACTIONS INNER JOIN CIRC_TRANSACTIONS ON RENEW_TRANSACTIONS.CIRC_TRANSACTION_ID = CIRC_TRANSACTIONS.CIRC_TRANSACTION_ID WHERE (("

我无法使聚合函数正常工作。MS Access compalins介绍了我如何使用聚合函数:

   SELECT Max([RENEW_DATE]) AS Expr1
    FROM RENEW_TRANSACTIONS INNER JOIN CIRC_TRANSACTIONS ON  
     RENEW_TRANSACTIONS.CIRC_TRANSACTION_ID = 
     CIRC_TRANSACTIONS.CIRC_TRANSACTION_ID
      WHERE (("circ_transaction_id"=[circ_transactions].
       [circ_transaction_id]))
     order by  CIRC_TRANSACTIONS.CIRC_TRANSACTION_ID;
我得到的错误是“您试图执行的查询未将指定的表达式'CIRC\u TRANSACTIONS.CIRC\u TRANSACTION\u ID'作为聚合函数的一部分”
我有两张表,circ\U交易和renew\U交易。第一个代表一位顾客正在借书。第二个代表顾客在书上得到的续借。因此,需要更新的circ为1-N

我需要所有中国保监会项目,如果存在,还需要续签日期。但是,如果有多个续订日期,我需要最新的。我尝试了几种不同的方法,有些是我写的,有些是Access 2007写的(大部分)。我尝试将select作为字段。没用。我试过上面的方法。不起作用。在几个版本中,即使生成了Access 续订交易。保监会交易\u ID 它在将同一标识符复制到另一个查询时遇到问题。(它给出了一个需要值的对话框,我知道这意味着我输入了错误的内容,但我在这里找不到。) 因此,无论是作为一个独立的查询,还是作为它与一组较长的内部联接相关的较大查询的一部分,我如何获得最大值(续订日期)?实际上,我想这样做:

select RENEW_TRANSACTIONS.CIRC_TRANSACTION_ID, circ_transactions.item_id, circ_transactions.circ_transaction_id, MAX(renew_date)
但我想这也行不通


我需要做些什么才能让它工作?我更愿意将最大值代码本身作为一个查询,作为一个较大查询中的字段,但我会采取任何可行的方法。现在我更大的查询得到了大约1690个circ ttransaction ID,但是如果查询不带MAX的renew date,我会得到1785个额外的行。我需要得到这些数据,并在今天将其发送给我们的供应商。谢谢你的建议

您可能还希望根据CIRC\u交易ID对其进行分组,以便查看每个项目的日期

SELECT CIRC_TRANSACTIONS.CIRC_TRANSACTION_ID, Max([RENEW_DATE]) AS Expr1
FROM RENEW_TRANSACTIONS INNER JOIN CIRC_TRANSACTIONS ON  
RENEW_TRANSACTIONS.CIRC_TRANSACTION_ID = 
CIRC_TRANSACTIONS.CIRC_TRANSACTION_ID
GROUP BY CIRC_TRANSACTIONS.CIRC_TRANSACTION_ID
ORDER BY CIRC_TRANSACTION_ID;

恐怕在这个版本中,where子句中有一个错误(显然)。“where”突出显示,Access显示,“查询表达式'CIRC_TRANSACTIONS.CIRC_TRANSACTION_ID'中的语法错误(缺少运算符),其中(((“CIRC_TRANSACTION_ID”=[CIRC_TRANSACTIONS].[CIRC_TRANSACTION_ID])我尝试删除所有额外的[]和引号,但这没有帮助。我还尝试在where子句后移动group by,因为在where子句后通常会看到一个gorup by。这没有什么区别。@DocDuncan抱歉,where子句完全不必要,除非您想将结果筛选到特定的事务id。我编辑以删除它。我有一个后续问题uestion。看起来我应该把它放在一个新的线程中。但是,您的代码经过了一些调整,完全符合我的要求,运行良好:选择CIRC_TRANSACTIONS.CIRC_TRANSACTION_ID,Max([续订日期])作为CIRC\U交易左侧的Expr1,加入CIRC\U交易上的更新\U交易。CIRC\U交易\U ID=更新\U交易。CIRC\U交易\U ID组按CIRC\U交易。CIRC\U交易\U ID顺序按CIRC\U交易。CIRC\U交易\U ID;