我正在尝试执行左连接以访问来自不同表的两列之间的记录,但是没有显示其中一列的数据。
SQL代码:
SELECT [TABLE 1].[CODE 1], [TABLE 2].[CODE 2]
FROM [TABLE 2]
LEFT JOIN [TABLE 1]
ON [TABLE 1].[CODE 1]=[TABLE 2].[CODE 2];
答案 0 :(得分:0)
对我来说这表明列值不一样,它们是否是相同的数据类型?是否有一个前导零但另一个没有?
值必须与联接起作用完美匹配。
答案 1 :(得分:0)
将LEFT JOIN更改为INNER JOIN。你看到了结果吗?这表明代码2中至少有一些代码1。
现在改回LEFT JOIN并交换表格(即“从表1获取所有记录并与表2比较”)并添加WHERE [TABLE 2].[CODE 2] IS NULL
。这将为您提供与代码2不匹配的所有代码1。像这样:
SELECT [TABLE 1].[CODE 1], [TABLE 2].[CODE 2]
FROM [TABLE 1]
LEFT JOIN [TABLE 2]
ON [TABLE 1].[CODE 1]=[TABLE 2].[CODE 2]
WHERE [TABLE 2].[CODE 2] IS NULL;
如果没有数据,那就意味着一切都匹配。
答案 2 :(得分:0)
updateDeployment