[英]Using a field of view in the view's sub query
I have a view which has a column which is calculated from other columns. 我有一个视图,该视图具有从其他列计算得出的列。 For example, in my original table I have the columns
A
and B
from which I calculate the value of column X
in my view. 例如,在我的原始表中,我具有
A
列和B
列,从中可以计算视图中X
列的值。 I need the value of X
in another column I have in the view - Z
. 我在视图
Z
另一列中需要X
的值。 But when I put it in the sub-query of my view I get an Unknown column 'X' in 'field list' SQL statement
. 但是,当我将其放在视图的子查询中时,
Unknown column 'X' in 'field list' SQL statement
得到一个Unknown column 'X' in 'field list' SQL statement
。
The sub-query of the view looks like this: 视图的子查询如下所示:
(CASE
WHEN (`users`.`A` REGEXP '^(regexone)') THEN 'ValueA'
WHEN (`users`.`B` REGEXP '^(regextwo)') THEN 'ValueB'
ELSE ''
END) AS `X`,
(CASE
WHEN
(`X` = 'ValueA')
THEN
(`users`.`C`*0.95-0.3)
ELSE ''
END) AS 'Z'
What's the correct syntax of using a computed view field in the computation of another field? 在另一个字段的计算中使用计算的视图字段的正确语法是什么?
if you can you user-defined variables use like 如果可以的话,用户定义的变量可以像
SELECT
@x := (CASE
WHEN (`users`.`A` REGEXP '^(regexone)') THEN 'ValueA'
WHEN (`users`.`B` REGEXP '^(regextwo)') THEN 'ValueB'
ELSE ''
END) AS `X`,
(CASE
WHEN
(@x = 'ValueA')
THEN
(`users`.`C`*0.95-0.3)
ELSE ''
END) AS 'Z'
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.