在where部分内使用计算

时间:2013-04-26 19:32:43

标签: sql sqlite

我在制定SQL查询时遇到问题。该代码用于访问sqlite数据库的php脚本。

我想做什么:我只想选择超过单个偏移量的数据集:

select * from tab1 t, tab2 z where t.id = z.ref and (t.value - z.offset > '50')

为什么这不起作用?

我尝试了另一种方法,但这也失败了。

select *, t.value - z.offset as diff from tab1 t, tab2 z where t.id = z.ref and ( diff > '50')

colum diff包含正确的值,但我不能在where子句中使用它。

知道如何制定这个吗? 谢谢你的帮助! GALEO

1 个答案:

答案 0 :(得分:1)

如果t.valuez.offset都是某种数字类型,则将您的上一个条件重写为(t.value - z.offset > 50)(无撇号)。

您的2nd查询使用WHERE子句中的列别名,这是不允许的。