Sql 三个表连接在一起,给了我所有记录的组合
当我编写如下查询时。。它是所有记录的组合。 询问中有什么错误Sql 三个表连接在一起,给了我所有记录的组合,sql,inner-join,Sql,Inner Join,当我编写如下查询时。。它是所有记录的组合。 询问中有什么错误 SELECT ven.vendor_code, add.address1 FROM vendor ven INNER JOIN employee emp ON ven.emp_fk = emp.id INNER JOIN address add ON add.emp_name = emp.emp_name; 使用内部连接,您必须将两个表之间的所有链接(关系)放在ON子句中 假设关系良好,您可以
SELECT ven.vendor_code, add.address1
FROM vendor ven INNER JOIN employee emp
ON ven.emp_fk = emp.id
INNER JOIN address add
ON add.emp_name = emp.emp_name;
使用内部连接,您必须将两个表之间的所有链接(关系)放在
ON
子句中
假设关系良好,您可以测试以下查询,看看它们是否真的组合了所有记录:
SELECT count(*)
from vendor ven
inner join employee emp on ven.emp_fk = emp.id
inner join address add on add.emp_name = emp.emp_name;
SELECT count(*)
add.address1
from vendor ven, employee emp, address add
如果两个查询都返回相同的结果(我对此表示怀疑),那么您就真的做到了
如果没有,就像我假设的那样,可能您缺少一个关系或一个过滤结果数量的限制。您一定缺少一些代码。你有
rem.address
但你没有任何rem
别名。我敢肯定。。我没有错过任何类似的东西..什么是rem
?没有表具有此别名。这不是一个可执行查询。我打错了。。我现在更正了…@Mayilarun你能发布你得到的输出吗
和什么是例外输出
,表结构会更有价值。