我有三张桌子,我想一起加入。
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语句,但它们似乎都不起作用。
关于如何解决这个问题的任何想法?
谢谢。
答案 0 :(得分:1)
除了我回答here之外,您还需要阅读syntax of identifiers in PostgreSQL。
此:
"domain.domainid"
必须是
"domain"."domainid"
或者更好,简单地说:
domain.domainid