3
在Oracle中,是否有一種簡單的方法可以在單個查詢中執行此操作,或者這是正確的方法嗎?Oracle查詢 - 獲取條件最大值
SELECT MAX(ID) INTO n_FOO_ID FROM FOO WHERE BAR = n_InputVar and ConditionalFlag IS NULL;
IF n_FOO_ID IS NULL OR n_FOO_ID = 0 THEN
SELECT MAX(ID) INTO n_FOO_ID FROM FOO WHERE BAR = n_InputVar;
END IF;
我想要做的就是在我的條件的輸入變量相匹配的最大的ID,而是要優先考慮不具備條件的標誌行。
我的大部分數據庫的經驗是在SQL Server中,在那裏我會做這樣的事情:
SELECT TOP 1 ID INTO @FooID FROM FOO WHERE Bar = @InputVar ORDER BY ConditionalFlag, ID DESC
但這似乎並沒有工作在Oracle一樣,或者更可能......我沒有正確地做。任何人都可以提供建議嗎?
謝謝!
謝謝!這正是我所需要的。我嘗試了類似的方法,但在內部查詢中我有'where rownum = 1'。我沒有想過要圍繞這個做一個外部查詢。再次感謝! – Brosto 2010-11-17 17:41:19