2013-04-26 54 views
0

我有一个问题,公式化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

“t.value”和“z.offset”的**数据类型**是什么? – 2013-04-26 19:37:22

+0

都是双重的 – Galeo 2013-04-26 20:26:58

回答

1

如果t.valuez.offset都是一些数字类型,然后重新写你的最后一个条件为(t.value - z.offset > 50)(没有引号)。

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

+0

GREAT。谢谢!没有撇号它的作品。 – Galeo 2013-04-26 21:07:37