具有从查询计算的值的SQL where子句

时间:2011-09-10 00:39:21

标签: sql

我想按照

的方式做点什么

select * from table where column < myValue

myValue

获得

select myValue from table where id = @id --there should only be one.

我如何结合这些?

我在哪里试过,但没有成功。

3 个答案:

答案 0 :(得分:3)

我会使用JOIN。

select t1.* from mytable as t1 
join mytable as t2 on t1.column < t2.myValue
where t2.id = @id

答案 1 :(得分:2)

一个简单的子查询应该没问题。

select * from table where column < (select myValue from table where id = @id LIMIT 1)

答案 2 :(得分:2)

这样的事情怎么样?

declare @myValue int -- value type
select top(1) @myValue = myValue from table where id = @id --there should only be one.
select * from table where column < ISNULL(@myValue,0);