我正试着在两张桌子上做一个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
最佳答案
如果WITHPROTOCOLTABLE
和WITHOUTPROTOCOLTABLE
是两个不同的表或视图,则在连接条件中使用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/