【发布时间】:2021-11-18 14:22:38
【问题描述】:
我正在添加一个计算学费的查询。它应该使用Tuition 表来做到这一点,该表只包括FullTimeCost(学生费用的静态数字)和PerUnitCost(每学分时的成本)。
我正在尝试使用 SELECT 来返回 3 个以上的列、1 个 12 个被调用单位的常量值,以及 2 个基于简单数学计算其余部分的列。
我遇到的问题是我似乎无法使Units 列的默认值为 12。
这是我的代码,我遇到的问题是,当我使用这种方法时,以下公式无法识别前几行中创建的列。
我所需要的只是让第 3 行识别单位,以便它可以按预期乘以 12。这也是给学校的,所以评论说只是把它改成 12 是没有用的。
SELECT
FullTimeCost, PerUnitCost,
12 AS Units,
PerUnitCost * Units AS TotalPerUnitCost,
FullTimeCost + TotalPerUnitCost AS TotalTuition
FROM
Tuition
【问题讨论】:
-
没错,您不能引用在同一个 SELECT 列表中定义的列别名。
-
要么复制并粘贴上一行的计算,要么使用派生表或 cte。
-
那么我该如何解决这个问题,它必须使用 Query 来完成,这是一个学校作业,我没有为这个作业创建新表的用户权限。
-
没问题,阅读下面戈登的回答。
-
你可能使用的是 MySql 而不是 SQL Server?
标签: sql sql-server select