您好,我一直在处理一个 MySQL 数据库的项目,我正在将它转换为 MS ACCESS 数据库。
有人可以帮助我从 MySQL 到 MS ACCESs SQL 的等效查询吗? 因为我的 ms Access 查询不起作用。
MySQL 查询:
Select count(u.phone) as ordernr, u.firstname , u.lastname , u.address from user u join orders o on u.phone = o.phone group by firstname ;
到目前为止我尝试过的 MS ACCESS 查询(不工作):
Select count(u.phone) as ordernr, u.firstname as firstname, u.lastname as lastname , u.address as add from user u inner join orders o on u.phone = o.phone group by firstname ;
给我这个错误消息:您的查询不包括指定的表达式“lastname”作为聚合函数的一部分。
期待您的帮助和/或建议!谢谢
最佳答案
正确的 MS Access 版本是:
Select count(u.phone) as ordernr, u.firstname, u.lastname, u.address
from [user] as u inner join
orders as o
on u.phone = o.phone
group by u.firstname, u.lastname, u.address;
注意:
user
是 MS Access 中的保留字。join
操作需要包含inner
。as
是表别名所必需的。group by
需要包括所有列(这是除 MySQL 之外的所有数据库的 SQL 规则)。
关于MySQL 查询到 MS Access 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37775543/