使用 INNER JOIN 和 replace 关键字连接两个表时出错



我正在尝试使用 INNER JOIN 连接 2 个表,但问题是我想使用 REPLACE 关键字,因为在另一个表中文本中有一个额外的字符。我将查询编写为:

SELECT
keeper_details.*,
keepers.*
FROM
keeper_details
INNER JOIN keepers ON keeper_details.cphh = keepers.CPHH SET keepers.CPHH = REPLACE(keepers.CPHH,"/","")

但是我收到一个错误,说:

1064 - 您的 SQL 语法有误;请查看与您的 MySQL 服务器版本对应的手册,了解在"SET keepers"附近使用的正确语法。CPHH = 替换(守门员。CPHH,"/","(

我的共同文本是关于keeper table(CPHH) = "XXXXXXXX"keeper_details table(CPHH) = XX/XXX/XXXX

我希望我清楚。我不知道我哪里做错了!任何建议都将是一个很大的帮助!提前感谢!

这应该足够了:

SELECT keeper_details.*
, keepers.*
FROM keeper_details
INNER JOIN keepers
on keeper_details.cphh = REPLACE(keepers.CPHH,"/","");

当您使用on单词时,您是在告诉查询在联接两个表时将什么用作"条件"。因此,当您在连接时删除字符"/"时,所有应该都可以。

我还建议您在使用字符串值时使用单引号:

SELECT keeper_details.*
, keepers.*
FROM keeper_details
INNER JOIN keepers
on keeper_details.CPHH = REPLACE(keepers.CPHH,'/','')

相关内容

最新更新