我想沿着SQL其中從一個查詢的計算值條款
select * from table where column < myValue
線做一些事情,
和myValue
我怎樣才能結合這些?
我試過了,但沒有成功。
我想沿着SQL其中從一個查詢的計算值條款
select * from table where column < myValue
線做一些事情,
和myValue
我怎樣才能結合這些?
我試過了,但沒有成功。
這樣的事情呢?
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);
+1這工作,謝謝。 – user420667
沒問題!很高興我能幫上忙。 =) – zSynopsis
一個簡單的子查詢應該沒問題。
select * from table where column < (select myValue from table where id = @id LIMIT 1)
由於某種原因,這並不適合我。我想也許是因爲myValue和column是真的是同一個列名。另外,它不喜歡限制語法。 – user420667
完全可能:)你能否提供示例表格和列名稱,我會一起爲你工作? – Joe
@ user420667:可能不工作,因爲你使用的是sqlserver,這個語法是針對mysql的(sqlserver不具有「限制」,而是使用top 1) – Iridio
我會使用JOIN。
select t1.* from mytable as t1
join mytable as t2 on t1.column < t2.myValue
where t2.id = @id
+1這工作,謝謝。 – user420667
2個不同的表或相同?我假設myValue是數字字段? – ingo
@ingo:同一張表。實際上,這對於手頭的問題是一個小小的簡化。該列是日期時間列,所以值也應該是。 – user420667