我有以下更新宣告:
UPDATE users u
SET last_login=(
SELECT created_on
FROM user_login_log log
WHERE log.user_id = u.id
ORDER BY log.created_on DESC
LIMIT 1
)
但是..如果我有更多需要更新的值怎么辦?我需要:
UPDATE users u
SET last_login=(
SELECT created_on
FROM user_login_log log
WHERE log.user_id = u.id
ORDER BY log.created_on DESC
LIMIT 1
),
last_ip=(
SELECT ip
FROM user_login_log log
WHERE log.user_id = u.id
ORDER BY log.created_on DESC
LIMIT 1
)
這看起來很貴。雖然找不到其他方法。
uj5u.com熱心網友回復:
一種方法是在單個運算式中更新兩列:
UPDATE users u
SET (last_login, last_ip) = (
SELECT created_on, ip
FROM user_login_log log
WHERE log.user_id = u.id
ORDER BY log.created_on DESC
LIMIT 1)
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/466190.html
標籤:sql PostgreSQL
上一篇:資料洞察報告未正確下載
