繁体   English   中英

SQL Inner Join Sum(引用另一列)

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM