作者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://www.ptt.cc/bbs/Database/M.1648287408.A.659.html
→ carsun00: 實務上應該多開一個欄位紀錄密碼變更時間吧 04/05 14:46
→ carsun00: 不然你每個user登入都要去找那張紀錄表 ? 04/05 14:47