不知何故,使用双左外连接的记录比原始p表多10倍。 (左连接b)左连接C的正确语法是什么?
这是我到目前为止所做的:
SELECT COUNT(*)
FROM p
LEFT OUTER JOIN rate ON p.nip = rate.nip
LEFT OUTER JOIN n ON p.pin = n.pin
是否可以使用列连接?
SELECT COUNT(*)
FROM p
LEFT OUTER JOIN rate ON p.nip = rate.nip
LEFT OUTER JOIN n ON p.pin = n.pin and p.col2 = n.col2;
答案 0 :(得分:3)
该语法看起来是正确的。
问题可能是,对于给定的rate
,每p
条记录有多个npi
条记录,或者每条n
条记录有多条p
条记录{1}}记录给定的pin
或两者的组合。在这种情况下,数据库假定显示所有组合,即使这意味着在p
表中复制记录。
通过向连接添加其他条件表达式来修复它,以便只有附加表中的记录记录符合条件。