是否可以从WHERE子句中捕获数据?

时间:2010-06-13 07:05:28

标签: sql mysql select

我有一个场景,我正在计算SQL的WHERE子句中的某些内容,但我也希望得到这个计算 - 因为它很昂贵。是否有可能在WHERE子句中得到完成的结果,如下所示:

SELECT `foo` FROM `table` WHERE (foo = LongCalculation(`column`))

一厢情愿,还是MySQL的可能?

编辑:计算与列相关

2 个答案:

答案 0 :(得分:3)

set @bar = LongCalculation();
select foo from table where foo=@bar;

答案 1 :(得分:0)

@ cherouvim的想法有点重新工作,我让它使用行依赖函数:

set @bar = 0;

SELECT
  `product_name`,
  @bar AS `stock`
FROM `jos_vm_product`
WHERE (@bar := `product_in_stock`) > 0