【问题标题】:Apply filter on subquery with multiple values对具有多个值的子查询应用过滤器
【发布时间】:2021-08-24 19:39:03
【问题描述】:

我有一张桌子USER_DETAILS 我还有另一个名为 PASSWORD

的表
USER_DETAILS contains:-
id| name| phone_number

PASSWORD contains:-
id|user_id| password| created_at | password_hint

一个用户的密码可以包含多个条目

现在我想为正在执行此操作的用户获取最新的 created_at 密码。

select user.id,created_at from user_details as user
where user.id in (select user_id,max(created_at) from password group by user_id)

但这不起作用,因为子查询返回多个值我如何使用子查询执行此操作(我知道我也可以使用连接执行此操作,但我正在寻找子查询解决方案)

【问题讨论】:

    标签: sql subquery in-subquery


    【解决方案1】:

    有很多方法,对于子查询,您可以使用 correlated 查询

    select id, (select max(created_at) from password p where p.user_id=u.id) as created_at
    from user_details u
    

    【讨论】:

    • 感谢@Stu 的回复,它对我有用。
    猜你喜欢
    • 2020-04-06
    • 2017-08-20
    • 2018-11-27
    • 2017-06-17
    • 2021-09-27
    • 2019-03-26
    • 1970-01-01
    • 1970-01-01
    • 2019-02-18
    相关资源
    最近更新 更多