从访问表中检索数据时,GROUP BY子句不起作用


GROUP BY clause is not working when retrieving data from access table

这是我们需要运行的查询:

$dbname = 'demo';
$db = new PDO("odbc:DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=$dbName; Uid=; Pwd=;");
$result = $db->query('SELECT Table1.id,Table2.name,Table2.email,Table3.desc,Table1.ORDNUM,Table4.cust,Table4.Startdate,Table4.CNCLDATE,Table4.ship,Table1.qty,Table5.t5_NAME,Table5.t5_EMAIL,Table6.t6_NAME FROM (((((Table1 INNER JOIN Table4 on Table1.ORDNUM = Table4.ORDNUM)INNER JOIN Table2 on icust.CODE = Table4.CODE)inner join Table3 on Table4.TRMCODE = Table3.TRMCODE)inner join Table5 on Table5.t5_CODE = Table4.code)inner join Table6 on Table6.ID = Table4.div)' GROUP BY Table1.id);

表1中有许多可用的记录。id,所以我需要按table1。id分组。但这是不可能的。这是我得到的错误信息:

致命错误:在D:'xampp'htdocs'Project'Page.php on line ***

中调用非对象的成员函数fetch()

如何解决这个问题?

在GROUP BY子句之前有一个单引号,这可能导致错误。试着把它移到最后一个结束括号之前。

$dbname = 'demo';
$db = new PDO("odbc:DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=$dbName; Uid=; Pwd=;");
$result = $db->query('SELECT Table1.id,Table2.name,Table2.email,Table3.desc,Table1.ORDNUM,Table4.cust,Table4.Startdate,Table4.CNCLDATE,Table4.ship,Table1.qty,Table5.t5_NAME,Table5.t5_EMAIL,Table6.t6_NAME FROM (((((Table1 INNER JOIN Table4 on Table1.ORDNUM = Table4.ORDNUM)INNER JOIN Table2 on icust.CODE = Table4.CODE)inner join Table3 on Table4.TRMCODE = Table3.TRMCODE)inner join Table5 on Table5.t5_CODE = Table4.code)inner join Table6 on Table6.ID = Table4.div) GROUP BY Table1.id');