如何在 mysql 中将别名设置为 Integer
How can I set an alias as Integer in mysql
我是 mysql 的新人,我还没有找到任何相关信息。这就是我想要的:
SELECT Uzmanadid,
Kurumid,
SUM(Bireysel),
IF(Kurumid like '%L%', IF(SUM(Bireysel) > 120, 20, 15),
IF(SUM(Bireysel) > 90, 20, 15)) AS my_num,
(SELECT my_num) * 5 AS another_number
FROM Tbl_pss2
我该怎么做?
您不能在同一查询子句的同一 select 中使用别名。您需要使用子查询或 CTE 或使用相同的表达式而不是别名。 (但您可以在同一查询的 having 子句中使用该别名来过滤某些结果)。
使用子查询
SELECT *,t.my_num* 5 AS another_number
FROM
(SELECT Uzmanadid,
Kurumid,
SUM(Bireysel),
IF(Kurumid like '%L%', IF(SUM(Bireysel) > 120, 20, 15),
IF(SUM(Bireysel) > 90, 20, 15)) AS my_num
FROM Tbl_pss2) as t;
使用 CTE
WITH C AS
(SELECT Uzmanadid,
Kurumid,
SUM(Bireysel),
IF(Kurumid like '%L%', IF(SUM(Bireysel) > 120, 20, 15),
IF(SUM(Bireysel) > 90, 20, 15)) AS my_num
FROM Tbl_pss2
)
SELECT *,my_num* 5 AS another_number
FROM C;
我是 mysql 的新人,我还没有找到任何相关信息。这就是我想要的:
SELECT Uzmanadid,
Kurumid,
SUM(Bireysel),
IF(Kurumid like '%L%', IF(SUM(Bireysel) > 120, 20, 15),
IF(SUM(Bireysel) > 90, 20, 15)) AS my_num,
(SELECT my_num) * 5 AS another_number
FROM Tbl_pss2
我该怎么做?
您不能在同一查询子句的同一 select 中使用别名。您需要使用子查询或 CTE 或使用相同的表达式而不是别名。 (但您可以在同一查询的 having 子句中使用该别名来过滤某些结果)。
使用子查询
SELECT *,t.my_num* 5 AS another_number
FROM
(SELECT Uzmanadid,
Kurumid,
SUM(Bireysel),
IF(Kurumid like '%L%', IF(SUM(Bireysel) > 120, 20, 15),
IF(SUM(Bireysel) > 90, 20, 15)) AS my_num
FROM Tbl_pss2) as t;
使用 CTE
WITH C AS
(SELECT Uzmanadid,
Kurumid,
SUM(Bireysel),
IF(Kurumid like '%L%', IF(SUM(Bireysel) > 120, 20, 15),
IF(SUM(Bireysel) > 90, 20, 15)) AS my_num
FROM Tbl_pss2
)
SELECT *,my_num* 5 AS another_number
FROM C;