MySql 到 MS Access 查询转换 [重复]
Posted
技术标签:
【中文标题】MySql 到 MS Access 查询转换 [重复]【英文标题】:MySql to MS Access query conversion [duplicate] 【发布时间】:2018-06-03 20:04:02 【问题描述】:我有一个 mysql 查询,我想在 MS Access 中使用它。
SELECT company_name, agent_id FROM
( SELECT company_name, agent_id, @rn := IF(@prev = agent_id, @rn + 1, 1)
AS rn, @prev := agent_id FROM users
JOIN (SELECT @prev := NULL, @rn := 0) AS vars
ORDER BY agent_id DESC, company_name)
AS T1
WHERE T1.agent_id is not null and rn <= 3;
我一直试图在 Access 中运行它,但它抛出错误:“从子句中的语法错误”。
【问题讨论】:
那是因为这些 SQL 引擎的语法完全不同。 是的,这就是为什么我希望有人帮助我解决语法错误,我无法解决问题 你一定需要转换吗?有一些方法可以从 MS Access 使用 MySQL。见this。 @PaulT。是的,我只想在 MS Access 中这样做 您究竟尝试解决什么语法问题?你为什么不描述查询应该做什么? 【参考方案1】:在 Microsoft Access 中,我们可以尝试在 WHERE 子句中使用“TOP n”相关子查询。
我会尝试这样的:
SELECT t.company_name
, t.agent_id
FROM [users] AS [t]
WHERE t.company_name IN
( SELECT TOP 3 u.company_name
FROM [users] AS [u]
WHERE u.agent_id = t.agent_id
ORDER
BY u.company_name
)
ORDER
BY t.agent_id DESC
, t.company_name
【讨论】:
以上是关于MySql 到 MS Access 查询转换 [重复]的主要内容,如果未能解决你的问题,请参考以下文章
MS Access 2007 重命名自定义组中的快捷方式以更改对象的名称