我正在尝试使用 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,'/','')