【发布时间】:2013-12-12 02:38:24
【问题描述】:
我有如下所示的表格。
Table1
Field1 Field2
ID111 1,500
ID112 100
ID111 250
ID114 50
ID114 20
Table2
Field1 Field3
ID111 Chris
ID112 Mary
ID114 John
我想要的是下面显示的结果。
ID111 Chris 1,750
ID112 Mary 100
ID114 John 70
我已经通过使用 2 次 sql 执行来实现这一点。感谢昨晚在这个网站上提供帮助的人,我只用了 1 条 sql 语句就让它工作了。但是,我无法将第一个表链接到第二个表以获取更多信息。
通过使用
SELECT SUM(ctotal) AS TransactionTotal
FROM table1
GROUP BY field1
我做到了
ID111 1,750
ID112 100
ID114 70
我目前正在使用这个sql语句,它弹出一个错误。
SELECT SUM(ctotal) AS TransactionTotal,
table2.field3
FROM table1
INNER JOIN table2
ON table1.field1 = table2.field1
GROUP BY table1.field1
它说不能“您尝试执行一个查询,该查询不包含指定表达式 'Field3' 作为聚合函数的一部分。”
如果有人知道解决此问题的方法,我将不胜感激。
【问题讨论】:
-
在
GROUP BY子句中包含 Table2.Field3 -
table2.Field3 必须出现在 group by 子句中或包含在和聚合函数中,例如 SUM()、MAX()、MIN()、AVG()、...
标签: sql group-by sum inner-join