sql - 对具有多个值的子查询应用过滤器
问题描述
我有一个表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)
但这不起作用,因为子查询返回多个值我怎么能用子查询做到这一点(我知道我也可以用 join 做到这一点,但我正在寻找一个子查询解决方案)
解决方案
有很多方法,对于子查询,您可以使用相关查询
select id, (select max(created_at) from password p where p.user_id=u.id) as created_at
from user_details u
推荐阅读
- javascript - Cordova Config 中的 errorUrl 无法在 Android 上运行
- ios - 收到带有数据的远程通知时激活 iOS 应用程序
- string - 使用单元格值作为字符串 VBA
- python - Keras 中的小错误:对 ValueError 的错误纠正?
- angular - 角度动画使元素从底部向上滑动而不是从顶部向下滑动
- html - angular 5 选择 IE 无值
- android - FFMpeg:在视频创建过程中添加背景图片
- php - Laravel、数据表和模型水合物
- apache-spark - 用于业务流程的 Apache Spark?
- sparql - SPARQL:将查询结果作为 RDF LIST 插入