gpt4 book ai didi

sql - 如何在 LEFT JOIN 中使用 replace() 之后生成的关系

转载 作者:行者123 更新时间:2023-11-29 12:05:56 28 4
gpt4 key购买 nike

我正在尝试对两个表执行 LEFT JOIN。两者都有一个名为 WEBSITE 的列。一个填充了像 http://abc.com 这样的协议(protocol),另一个没有像 abc.com 这样的协议(protocol)。

我正在尝试加入这些表 w.r.t.网站专栏。我尝试替换协议(protocol),然后像这样执行连接:

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 是两个不同的表或 View ,那么在您的连接条件中使用 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/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com