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