更新表'commission'中的某些行时出现问题。现在我有了像bar/123/456这样的commission_number。我想它重命名为约翰/四百五十六分之一百二十三等,从“用户”表Postgres - 更改列数据
commission user
------------------------- -----------------
commission_number|user_id username|user_id
------------------------- -----------------
bar/123/456 | 1 John | 1
bar/123/123 | 2 Bob | 2
bar/456/123 | 3 Thomas | 3
取一个名字下面是我的查询,以“巴兹”工作。但不知道如何从'用户'表中放置'用户名'。我只需要替换'baz',并使用'user'的用户名,但是不知道如何。
UPDATE commission
SET commission_number = overlay(commission_number placing 'baz' FROM POSITION('bar' IN commission_number) for 3)
WHERE commission_number in (1,2,3,4,5,6,7,8)
为什么你存储的用户名中commission_number呢?您不应该存储可以从现有内容派生的数据。 – 2013-03-12 13:40:19
我在我们公司的系统中发现了一个错误,必须重命名它。我不能改变表格结构,我不是开发者:( – ssuperczynski 2013-03-12 13:44:39
然后告诉谁是负责任的,这是一个可怕的表格设计(你可以引用我) – 2013-03-12 13:47:42