作者ntpuisbest (阿龙)
看板Database
标题[SQL ] 求最新的密码变更日期和活跃用户
时间Sat Mar 26 17:36:46 2022
(针对
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
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 118.167.154.36 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Database/M.1648287408.A.659.html
1F:→ carsun00: 实务上应该多开一个栏位纪录密码变更时间吧 04/05 14:46
2F:→ carsun00: 不然你每个user登入都要去找那张纪录表 ? 04/05 14:47