我正在研究一个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的参数值)
所有代码结果都是错误的。我如何修复此代码以使输出为1800?
答案 0 :(得分:0)
只需对表2中的费用栏进行总结
所以别名第二个表然后引用sum语句中的alias.columnName
答案 1 :(得分:0)
这将取决于表结构和数据类型,但我刚刚在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
上的数据类型是文本字段,因此您获得的数据类型不匹配,因为成员中的级别不是数字。
SELECT SUM(Members.Level) as TotalRevenue
FROM MLevel
INNER JOIN Members ON Members.Level = MLevel.Level