我有三張表,我想聯合在一起。加入三個表,其中一個沒有主鍵
Domain table
-domainid - Primary key
DomainRegion table
-domainid - Don't have a Primary Key or Foreign Key
-dombegin
-domend
DynDomrun table
-ddid - Primary Key
-confid1
-confid2
「domain.domainid」, 「domainregion.domainid」 和 「dyndomrun.ddid」 具有相同的類型的數據類型, 「字符改變」。
現在,問題是「domain.domainid」和「domainregion.domainid」中有兩個額外的字符,我似乎無法與「dyndomrun.ddid」進行連接。
但是,「domainid」與「ddid」有關,只是「domainregion.domainid」未分配主鍵或外鍵,我需要該表中的某些字段與其他字段聯合。最後,我需要一個列表「dyndomrun.ddid,domainregion.dombegin,domainregion.domend,dyndomrun.confid1,dyndomrun.confid2」的完整表格。
我一直在使用where ("domain.domainid",8)=left("dyndomrun.ddid",8)
嘗試,它給了我一個錯誤,說明
ERROR: function left(character varying, integer) does not exist HINT: No function matches the given name and argument types. You may need to add explicit type casts.
我已經嘗試使用聯接和其它SQL語句,他們似乎都沒有工作。
有關如何解決此問題的任何想法?
謝謝。
作爲歐文原來的話題中稱,只有左()函數對於postgres> = 9.x.使用substr()代替。 – wildplasser 2011-12-27 13:39:39
可能重複[如何連接兩個表,其中一個沒有主鍵和不同的字符長度](http://stackoverflow.com/questions/8636956/how-to-join-two-tables-with他們的一個 - 沒有一個主鍵和不是該山姆) – 2011-12-27 13:50:56
好的。非常感謝你。你之前的解決方案確實奏效現在它返回我需要進行比較所需的所有行。 – Jeiman 2011-12-27 13:55:46