[英]SQL Inner Join Sum (Referencing another column)
我正在处理 SQL 查询,其中最终结果是使用表 1 和表 2 在其中包含一个包含总和的列。
表 1:成员:
Level
Individual
Super
表 2: MLevel:
Level . . . . . Fee
Super . . . . . 700
Individual .. . 400
为第 1 列中的水平赋值:700 + 400 + 700 = 1800
期望的结果:
Total . . . . . 1800
我的代码:
第一次代码尝试:
SELECT SUM(Members.Level) as TotalRevenue
FROM MLevel
INNER JOIN Members ON Members.Level = MLevel.Level
结果:条件表达式中的数据类型不匹配
第二次代码尝试:
SELECT SUM(MLevel.Fee) as TotalRevenue
FROM MLevel
INNER JOIN Members ON MLevel.Level= Members.Level
结果:弹框(输入MLevel.Fee的参数值)
所有的代码结果都是错误的。 我将如何修复此代码以使 output 为 1800?
只需在表 2 的费用栏上做一个总和
所以别名第二个表然后在你的总和语句中引用 alias.columnName
这将取决于表结构和数据类型,但我刚刚在MS Access 2003
中测试了以下内容,并且使用了以下内容:
Members table:
Level
Individual
Super
MLevel Table:
Level Fee
Super 700
Individual 400
SELECT SUM(MLevel.Fee) as TotalRevenue
FROM MLevel
INNER JOIN Members ON Members.Level = MLevel.Level
使用查询给我 1100 的总和,因为我在成员中只有 2 个条目,添加更多会正确地增加总和。
您的第一个查询将不起作用,因为Members.Level
上的数据类型是文本字段,因此您会得到数据类型不匹配,因为 Members.Level 中的 Level 不是数字。
SELECT SUM(Members.Level) as TotalRevenue
FROM MLevel
INNER JOIN Members ON Members.Level = MLevel.Level
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.