Access97 左连接选择

Posted

技术标签:

【中文标题】Access97 左连接选择【英文标题】:Access97 LEFT JOIN SELECT 【发布时间】:2014-07-17 13:26:42 【问题描述】:

我被一些 access97 sql 卡住了,

SELECT Master.Text, Sub.Cnt
FROM Master
INNER JOIN [
SELECT Number, COUNT(*) As Cnt FROM SubTable GROUP BY Number]. AS Sub
ON Master.Number=Sub.Number
WHERE Master.Number=1;

行为与我预期的一样,但是在需要将“子表”名称括起来的地方,我在 FROM 子句中突出显示 GROUP 时收到错误

SELECT Master.Text, Sub.Cnt
FROM Master
INNER JOIN [
SELECT Number, COUNT(*) As Cnt FROM [Sub Table] GROUP BY Number]. AS Sub
ON Master.Number=Sub.Number
WHERE Master.Number=1;

谁能指出我正确的方向?

谢谢

【问题讨论】:

【参考方案1】:

方括号在查询中看起来很奇怪。尝试对子查询使用正则括号:

SELECT Master.Text, Sub.Cnt
FROM Master INNER JOIN 
     (SELECT Number, COUNT(*) As Cnt
      FROM [Sub Table]
      GROUP BY Number
     ) AS Sub
     ON Master.Number = Sub.Number
WHERE Master.Number = 1;

编辑:

您可以将此查询重写为:

SELECT Master.Text, COUNT(*) as Cnt
FROM Master INNER JOIN 
     [Sub Table] as sub
     ON Master.Number = Sub.Number
WHERE Master.Number = 1
GROUP BY Number;

【讨论】:

方括号是 Access 查询设计器所做的一件奇怪的事情。 @Gordon 方括号是 a97 的正确表示法,初始查询功能正确,在表名中有空格的情况下会出现问题 @robpws 。 . .尤奇。您为什么使用十年前过时的软件? @GordonLinoff 这是一个旧的商业产品,显然不保证更新时间

以上是关于Access97 左连接选择的主要内容,如果未能解决你的问题,请参考以下文章

Access 2007 - 左连接返回正确结果,内连接不返回任何结果

ms-access 中的左连接和内连接

MS Access:左连接不返回左表中的所有行

左连接 SQL 查询 - MS Access

使用 SQL 在 Access 中的 5 个表上进行内连接和左连接

mysql vs ms-access DB上的sql查询左连接