我有两个表tbl_a和tbl_b,它们的字段是
tbl_a
-----
a_id a_name a_surname a_c_id a_d_id
tbl_b
-----
b_id b_name b_phone b_c_id b_d_id
我想加入这两个表:
select *from tbl_a join tbl_b on tbl_a.a_c_id=tbl_b.b_c_id AND tbl_a.a_d_id=tbl_b.b_d_id where tbl_a.id>15;
正如你所看到我想为ON关键字使用两个键,无论如何都要这样做吗? 谢谢你提前......
答案 0 :(得分:3)
您的查询是正确的,无需添加额外的On关键字 AND关键字可以在两个不同的列上进行连接。只需将支架正确理解即可。
select *from tbl_a join tbl_b on
(
tbl_a.a_c_id=tbl_b.b_c_id
AND
tbl_a.a_d_id=tbl_b.b_d_id
)
where tbl_a.id>15;
答案 1 :(得分:1)
你说它的方式应该可以正常工作。
在MySQL中,您可以使用AND来设置多个连接约束。
答案 2 :(得分:0)
Sql server允许这样做。我可以代言其他实现。
答案 3 :(得分:0)
它工作正常,但使用别名而不是长表名
select * from tbl_a a
join tbl_b b on a.a_c_id=b.b_c_id AND a.a_d_id=b.b_d_id
where a.id>15;