【发布时间】:2013-12-12 00:41:58
【问题描述】:
假设我在 Access 中有两个表。表格字母和表格编号。 TableLetters 有一列 TheLetter 和 4 条记录,A、B、C 和 D。对于一个 TableLetters 记录,TheNumbers 是很多的。假设我们在 TheNumbersTable [TheLetter][TheNumber] 中有两列。见下文:
TheLetters
[TheLetter]
A
B
C
D
TheNumbers
[TheLetter][TheNumber]
A 1
A 2
A 3
B 1
B 2
如何编写一个查询,为每个“TheLetters”记录返回一条记录,以及 TheNumbers 表中的 MAX 个“TheNumber”,或者如果 TheNumbers 表中的 TheLetter 没有匹配项,则返回空白?所以我希望我的结果集是:
[TheLetters.TheLetter][TheNumbers.TheNumber]
A 3
B 2
C <NULL>
D <NULL>
我可以得到 A,3 - B,2 但它会切断 C 和 D,因为 TheNumbers 中没有匹配项。我试过改变我的加入。我尝试在 WHERE 子句中放置一个 IF,说明如果我们有匹配项,则返回 TheNumbers 的记录,否则给我空白。我似乎无法正确使用语法。感谢您的帮助!
【问题讨论】: