我正在尝试JOIN
使用不是两个表各自主键的列来创建 2 个表:
SELECT *
FROM TableA A
INNER JOIN TableB B
ON A.col5 = B.col5
0 results
然而,即使我确定其中的值与of中Table A
的col5
值匹配,上述内容仍在返回。col5
Table B
我究竟做错了什么?
我正在尝试JOIN
使用不是两个表各自主键的列来创建 2 个表:
SELECT *
FROM TableA A
INNER JOIN TableB B
ON A.col5 = B.col5
0 results
然而,即使我确定其中的值与of中Table A
的col5
值匹配,上述内容仍在返回。col5
Table B
我究竟做错了什么?
您查询:
SELECT *
FROM TableA A
INNER JOIN TableB B
ON A.col5 = B.col5;
具有正确的连接语法。如果有匹配的值,那么它将返回它。(或者,当然,您可以从应用程序中调用它,并且应用程序代码或与数据库的连接中可能存在错误,但这是另一个问题。)
一些值看起来相同但不同的情况:
abc
与 相同ABC1
,但 SQL 没有。还有两个我能想到但可能并非在所有数据库中都适用的原因:
Your query is correct and should return the matching values in the table. But as you said there is invisible space in the values in other table at the end try using LTRIM and RTRIM to remove the invisible space from the values. LTRIM removes the whitespaces from the beginning of the string and RTRIM removes the whitespaces from the end of the string.
The query would be like :
SELECT * FROM TableA A INNER JOIN TableB B ON A.col5 = LTRIM(RTRIM(B.col5))
I hope it helps you out.