【发布时间】:2011-01-28 06:06:11
【问题描述】:
我有 2 个表格中的数据,我想创建一个报告。
表 A:
- tableAID(主键)
- 姓名
表 B:
- tableBID(主键)
- 等级
- tableAID(外键,引用表 A)
这两个表还有更多内容,但这些是相关的列。
从概念上讲,我要运行的查询是:
select TableA.name, avg(TableB.grade) where TableB.tableAID = TableA.tableAID
问题当然是我使用的是聚合函数(avg),我可以这样重写:
select avg(grade), tableAID from TableB group by tableAID
但是我只获得了 TableA 的 ID,而我确实需要出现在 TableA 中的名称列,而不仅仅是 ID。
是否可以在一个语句中编写一个查询来执行此操作,或者我是否首先需要执行我列出的第二个查询,获取 id 列表,然后查询 TableA 中的每条记录以获取名称列...似乎对我来说,我在这里遗漏了一些明显的东西,但我(很明显)不是 sql 大师......
【问题讨论】: