1440. 计算布尔表达式的值 - 力扣(LeetCode)
写一个 SQL 查询, 以计算表 Expressions
中的布尔表达式.
返回的结果表没有顺序要求.
查询结果格式如下例所示.
因为x和y的值存储在Variables表中,所以需要连接一下,但是这里是两个变量,所以需要连接两次,这里需要注意下:
select * from Expressions e
left join Variables v1
on e.left_operand = v1.name
left join Variables v2
on e.right_operand = v2.name
然后需要利用66和77去比较,而且这里是用条件判断且创建新列,所以很自然地用case when。
select e.*,casewhen operator = '=' then if(v1.value = v2.value,'true','false')when operator = '>' then if(v1.value > v2.value,'true','false')when operator = '<' then if(v1.value < v2.value,'true','false')end value
from Expressions e
left join Variables v1
on e.left_operand = v1.name
left join Variables v2
on e.right_operand = v2.name