[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