我正试着在两张桌子上做一个LEFT JOIN。两者都有一个名为WEBSITE的专栏。一个是用http://abc.com这样的协议填充的,另一个没有abc.com这样的协议。
我正试着加入这些“表w.r.t.网站”栏目。我尝试替换协议,然后执行如下连接:

SELECT replace(WEBSITE, 'http://', '') as SITENAME FROM WITHPROTOCOLTABLE LEFT JOIN WITHOUTPROTOCOLTABLE ON (WITHPROTOCOLTABLE.SITENAME = WITHOUTPROTOCOLTABLE.WEBSITE)

但我得到了错误:column WITHPROTOCOLTABLE.SITENAME does not exist
如何执行JOIN。请指教。
编辑:
桌子:
WITHPROTOCOLTABLE

website           somedata
----------------|---------------
http://abc.com  |  abcdef
http://xyz.com  |  xyzabc

WITHOUTPROTOCOLTABLE

website
-------
abc.com
xyz.com

最佳答案

如果WITHPROTOCOLTABLEWITHOUTPROTOCOLTABLE是两个不同的表或视图,则在连接条件中使用REPLACE函数,如下所示:

SELECT replace(WEBSITE, 'http://', '') as SITENAME
FROM WITHPROTOCOLTABLE
LEFT JOIN WITHOUTPROTOCOLTABLE
      ON (REPLACE(WITHPROTOCOLTABLE.WEBSITE, 'http://', '')
           = WITHOUTPROTOCOLTABLE.WEBSITE)

关于sql - 如何使用在LEFT JOIN中replace()之后生成的关系,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15564769/

10-13 05:46