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 - 左连接返回正确结果,内连接不返回任何结果