更新表'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