2015-11-04 75 views
0

我有一個非常糟糕的模式設計Postgres數據庫,我試圖加入兩個表和ID和ID有一個字段,但有一些字符在開始時,我將如何加入這些?SQL JOIN ON#= chr#

例如。

TABLE1 
------ 
Field name: ID 
Value: 1000 

TABLE2 
------ 
Field name: NUMBER 
Value: WO-1000 

所以基本上我需要它這樣說:

JOIN TABLE2 ON (TABLE1.ID = 'WO-' + TABLE2.NUMBER) 

感謝

回答

1

使用||運營商在Postgres的concatenate兩個值。嘗試這個。

JOIN TABLE2 ON (TABLE1.ID = 'WO-' || TABLE2.NUMBER) 

如果您NumberInteger型,則casttext

JOIN TABLE2 ON (TABLE1.ID = 'WO-' || cast(TABLE2.NUMBER as text)) --or TABLE2.NUMBER::text 

檢查here更多信息

+0

的''||不特定於Postgres的 - 這是已經在SQL標準的30年前 –

+0

@a_horse_with_no_name定義是什麼 - 是的,這是一個SQL標準。只是提到它的一種方法來連接:) –