我有一个Oracle数据库,我想在其中选择一个
user
最早行的字段(基于
time
字段)满足某些条件,但我不知道如何做。以下是我的问题要点:
SELECT id,
CASE WHEN value = 'xyz'
THEN 'Pending'
ELSE 'Not Pending'
END AS status,
time
FROM table1
INNER JOIN ...
WHERE subject IN (...) AND
field = 'Status'
我的问题是我不知道如何选择
用户
只从最早的行中获取值
时间
与Where条件匹配的值。我想我不能用
HAVING
因为我没有在我的select中执行任何聚合函数。最早的
时间
需要应用“值”条件
只有
选择
用户
字段,即我想要
id
和
value
为选择
全部的
价值观
时间
字段。
我想我可以保留上面的select语句,然后与另一个select语句联接,该语句将
用户
我想要。
SELECT id, status, time, user
FROM (
...query above...
),
(
SELECT user
FROM table1
WHERE subject in (...) AND
field = 'Status' AND
ROWNUM = 1
ORDER BY time ASC
)
但是,它只获取一个值
用户
总的来说,应该有一个单独的
用户
各值
身份证件
在我的第一个查询中选择。我该如何限制我的
SELECT user
按其他查询的查询
身份证件
字段?这是获得我想要的东西的正确方法吗?