【发布时间】:2011-12-26 15:19:46
【问题描述】:
我正在处理两个表: "dyndomrun.ddid" = 带有主键和 "domainregion.domainid" = 没有任何主键或外键。
“dyndomrun.ddid”定义是“字符变化”,有8个字符,而“domainregion.domainid”定义也是“字符变化”,有10个字符。
问题:domainregion 表中的某些字段需要与 dyndomrun 表中的主键连接在一起。我似乎无法使用如下简单的 JOIN 语句来做到这一点:
SELECT domainregion.domainid, domainregion.dombegin, domainregion.domend, dyndomrun.ddid
FROM domainregion, dyndomrun
WHERE domainregion.domainid = dyndomrun.ddid
ORDER BY domainregion.domainid, dyndomrun.ddid, domainregion.dombegin, domainregion.domend;
我尝试过 JOINS、INNER JOINS、LIKE,它们似乎都不起作用。我正在处理的数据库是使用 PostgreSQL 存储的纯 SQL。
有没有一种我可以使用的方法,它根据字符的长度选择 domainregion.domainid 并匹配它 dyndomrun.ddid?
请指教。
【问题讨论】:
-
在进行连接时将 2 中的较大者转换为其他数据类型/精度
-
where left(domaainregion.domainID,8)=left(dyndomrun.ddid,8) 可能需要填充空格。 (但这是一般的想法,而不是“具体的答案”
-
是这样的
select CAST (domainregion.domainid AS "DomainRegion" AND dyndomrun.ddid AS "DynDomrun") from domainregion, dyndomrun where left(domainregion.domainid,8)=left(dyndomrun.ddid,8) order by domainregion.domainid, dyndomrun.ddid;
标签: sql postgresql