Gru*_*uck 2 postgresql subquery
我有一个表添加了一个新列,我想编写一个SQL语句来根据现有信息更新该列.以下是两个表和相关列
'leagues' => id => league_key => league_id (this is the new column)
'permissions' => id => league_key
现在,用简单的英语,我想做的就是这个
Set leagues.league_id to be permissions.id for each value of permissions.league_key
我曾经尝试过这样的SQL:
UPDATE联赛SET league_id =(SELECT id FROM permissions WHERE league_key =(SELECT distinct(league_key)FROM leagues))WHERE league_key =(SELECT distinct(league_key)FROM leagues)
但我收到一条错误信息
错误:用作表达式的子查询返回的多行
对此的任何帮助将不胜感激
Kub*_*aun 11
根据您的要求
对于permissions.league_key的每个值,将leagues.league_id设置为permissions.id
这样做.
UPDATE leagues
SET league_id = permissions_id
FROM permissions
WHERE permissions.league_key = leagues.league_key;
Run Code Online (Sandbox Code Playgroud)