如何使用postgreSQL中的select更新?

时间:2017-01-20 14:59:15

标签: sql postgresql sql-update

update users
set users.przetwarzanie = historia_panel.zmiana_z
from historia_panel 
where 
        users.user_number like historia_panel.user_number and
        historia_panel.zmienna_zmieniana like '%przetwarzanie%' and
        historia_panel.przyczyna like '%użytkownika%';

错误是:

The error that is in console:
ERROR:  column "users" of relation "users" does not exist
LINE 2: set users.przetwarzanie = historia_panel.zmiana_z

在此查询中,我想要使用指定条件的users表中的值更新historia_panel表。我尝试了很多不同的方法,但没有一个我在互联网上找到的例子。

Actualy我不知道我做错了什么......

2 个答案:

答案 0 :(得分:2)

该错误表明您不允许在set子句中限定列名;事实上你不应该因为你已经说update users

这是否是我在快速浏览时无法说出的唯一问题,但这就是错误信息告诉你的内容;因此,请尝试将set users.przetwarzanie = historia_panel.zmiana_z更改为set przetwarzanie = historia_panel.zmiana_z并查看您的内容

答案 1 :(得分:0)

问题在于来自不同表的两列之间的不兼容类型。我添加了行set przetwarzanie = historia_panel.zmiana_z::int,现在它可以正常工作。