MySQL 查询到 MS Access 查询

标签 mysql sql database ms-access

您好,我一直在处理一个 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/

相关文章:

java - 在 Java JPA 中返回 map ?

sql - 是否可以使用 Entity Framework 运行 native sql?

php - 在str_replace中使用sql查询

database - 在向量中搜索计算量太大

java - 从数据库中检索顺序数据的最快方法是什么?

php - 加载特定 MySQL 记录时发生 fatal error

mysql - SQL计数问题

javascript - 测试微服务功能时模拟数据库

mysql - 使用 SELECT 和 ON DUPLICATE KEY UPDATE 插入 PDO

sql - 为什么 PREPARE 语句不尊重 INDEXing