[SQL ] 求最新的密码变更日期和活跃用户

楼主: ntpuisbest (阿龙)   2022-03-26 17:36:46
(针对 SQL 语言的问题,用这个标题。请用 Ctrl+Y 砍掉这行)
数据库名称: oracle
数据库版本:18.1.0
内容/问题描述:
我有两张表,以下是他们的table name还有对应的column
1. TB_USER
id username email password status
2. TB_USERPWDHISTORY
id userid password creatdate
第二张表会记录user 更改密码的历史,每次更动都会记录进去
所以同一个userid可能会有多笔纪录在第二章表中
并且第二张表的userid 是 foreign key
我的商业逻辑如下,
想要抓出 距离现在(sysdate)最近一次更改密码的日期
超过90天都未更改
并且status=1 的用户们
的user有谁,他们对应的
username userid 以及 他们的email
来寄信
我自己尝试组过
select userid,max(creatdat) from
TB_USERPWDHISTORY WHERE creatdat+90> sysdate
group by userid
好像where 放错位置
并且也没有跟 user 去做leftjoin
作者: carsun00 (永夜)   2022-04-05 14:46:00
实务上应该多开一个字段纪录密码变更时间吧不然你每个user登入都要去找那张纪录表 ?

Links booklink

Contact Us: admin [ a t ] ucptt.com