如果您习惯了 MS SQL 交叉应用,那么您可能想知道如何在 MySQL 中完成同样的事情。我发现反问句并认为直接的问题可能会帮助任何搜索如何将此功能从 MS SQL 迁移到 MySQL 的人。
在此示例中,交叉应用允许您修改字段并在同一查询中使用结果。问题是如何在 MySQL 中做到这一点。
SELECT v.Var1, POWER(v.Var1, 2) AS Var2Squared
FROM [Table] t
CROSS APPLY (SELECT t.Column1 + t.Column2 AS Var1) v
您对自己问题的回答表明very什么的有限子集CROSS APPLY
做。对于这个特定问题,您可以使用子查询:
select t.*, power(var1, 2)
from (select (column1 + column2) as var1
from aTable
) t;
这更昂贵,因为它会产生实现子查询的费用。另一种方法是重复表达式:
select (column1 + column2) as var1, power((column1 + column2), 2)
from aTable;
这些是我能想到的在 MySQL 中做你想做的事情的唯一安全的方法。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)