SQL - 内连接后没有选择任何行 - 我没有得到它

时间:2013-11-15 23:29:21

标签: sql oracle join

好的,这是我的两个表,我正在尝试使用ORACLE进行连接:

FOURNISSEUR

FOURNISSEUR

表4

table4

我很抱歉复制图片,但我很难从MYSQLPLUS复制表格。

我正在尝试加入NF,但它似乎不起作用......我做错了什么?

SELECT fournisseur.NF,fournisseur.NomF
FROM fournisseur
INNER JOIN table4
ON fournisseur.NF=table4.NF
ORDER BY fournisseur.NF;

是的,我觉得自己很蠢..

1 个答案:

答案 0 :(得分:4)

fournisseur表中的NF列是否在值之后有空格

fournisseur.NF的列标题看起来非常宽并且似乎显示VARCHAR2(20)(或CHAR(20);但请参见下方)列,这也可能意味着有额外的空白。

尝试修剪值。例如

ON TRIM(fournisseur.NF) = table4.NF

如果这确实有效,那么我会考虑使用CHAR(2),希望与table4.NF的类型相同,对于fournisseur.NF,它可以避免这个问题,只是不允许额外的空格开始用。

由于CHAR(n)字段末尾的填充空格“没有任何意义”,因此在整个过程中使用CHAR(n)类型也会删除观察到的问题。


这是SQL Fiddle,根据Coat CO的评论修改,显示VARCHAR2(n)列中有额外空格时缺少连接行为。