假设我有以下Person表:
ID, Name, Age, Height, Weight
我执行以下查询:
SELECT * FROM Person WHERE name = 'Fred' AND age = '19' AND ROWNUM <= 1
这将返回与这些条件匹配的第一行。
现在,我执行以下查询:
SELECT * FROM Person WHERE name || '|' age IN ('Fred|19','Joe|25','Sam|21')
这将返回与条件匹配的所有行。
我的问题是,是否有一种方法可以将第一个查询的“rownum”功能与第二个查询的多条件结合起来。|19(如有),Joe的第1个结果|25(如有)和Sam的第1个结果|21(如有)
简单地将它们结合起来是行不通的:
SELECT * FROM Person WHERE name || '|' age IN ('Fred|19','Joe|25','Sam|21') AND ROWNUM <= 3
如果Fred有3行以上|19,我将取回这3行。如果有帮助,我将使用Oracle数据库
1条答案
按热度按时间bcs8qyzn1#
在这种情况下,最好避免连接。
DBFiddle:https://dbfiddle.uk/7xZ5vyc _数据库小键盘