Sql 具有char索引函数的内部联接
好的,我尝试在SQL Server 2008上执行此操作:Sql 具有char索引函数的内部联接,sql,sql-server,Sql,Sql Server,好的,我尝试在SQL Server 2008上执行此操作: select * from tb_contato inner join tb_url_contato on tb_contato.RIGHT(linkurl, CHARINDEX('/', REVERSE(linkurl)) - 1) = tb_url_contato.url 这不管用。有什么最好的办法吗 谢谢。RIGHT是sql中的内置函数。我假设linkurl是表tb\u contato中的一列 SELECT * FROM tb
select *
from tb_contato
inner join tb_url_contato on tb_contato.RIGHT(linkurl, CHARINDEX('/', REVERSE(linkurl)) - 1) = tb_url_contato.url
这不管用。有什么最好的办法吗
谢谢。
RIGHT
是sql中的内置函数。我假设linkurl
是表tb\u contato
中的一列
SELECT *
FROM tb_contato
INNER JOIN tb_url_contato
ON RIGHT(tb_contato.linkurl, CHARINDEX('/', REVERSE(tb_contato.linkurl))-1) = tb_url_contato.url
您可以在不使用
right()
的情况下执行此操作,只需像一样使用。我认为逻辑是:
SELECT *
FROM tb_contato INNER JOIN
tb_url_contato
ON tb_contato.linkurl LIKE '%/' + tb_url_contato.url
试试这个
SELECT * FROM (SELECT * ,RIGHT(linkurl, COALESCE(NULLIF(CHARINDEX('/', REVERSE(linkurl)), 0) - 1, LEN(linkurl))) AS NEWCOL FROM tb_contato ) AS TA inner join tb_url_contato TB on TA.NEWCOL = TB.url
您不能为右
函数设置别名。将tb_contato.右侧的更改为右侧的。如果您需要为linkurl
字段添加别名,那么就这样做吧……是的,非常感谢@理查德,很乐意帮忙。如果此答案或任何其他答案解决了您的问题,请将其标记为已接受。