我有 2 個表用戶和國家,我正在嘗試為所有具有空名稱的國家/地區設定 country.name 和 users.country_name。
架構:

// Creating tables
Table users as U {
id int [pk, increment] // auto-increment
full_name varchar
created_at timestamp
country_code int
country_name varchar
}
Table countries {
code int [pk]
name varchar
continent_name varchar
}
參考:U.country_code > countries.code
詢問
update c set c.name = u.country_name from
countries as c inner join users as u
on c.code = u.country_code
where c.name is null;
錯誤: DBSQLException:SQL 錯誤 [42P01]
uj5u.com熱心網友回復:
遵循正確的更新連接語法,并從SET子句的 LHS 中洗掉別名:
update countries c
set name = u.country_name
from users as u
where c.code = u.country_code and c.name is null;
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/410422.html
標籤:
上一篇:CTE中的聚合列不能用于PostgreSQL查詢中的WHERE子句
下一篇:以下SQL創建表查詢有什么問題?
