我想检查一下我是否使用了关于此类案例的最佳方法:
2表: 第一个表:有关发票的信息,特别是2列: => ID负责1(列id_user1)和ID负责2(列id_user2) 表:tb_invoice
第二张表:id,所有责任人的姓名。 表:tb_users(columns:id_user,name ...)
要获取有关发票上2个责任人的信息,我会按照以下链接进行操作:
select
t1.*,
tu1.name as responsable_1,
tu2.name as responsable_2
from
tb_invoice t1
inner join tb_users tu1 on tu1.id_user=t1.id_user1
inner join tb_users tu2 on tu2.id_user=t1.id_user2
where
t1.num = 123456
还有其他解决方案吗? 谢谢你的帮助。
此致
答案 0 :(得分:0)
我修复了你的别名混乱(编辑你的问题),你的查询是一个非常好的解决方案
select
t1.id,
tu1.name as responsable_1,
tu2.name as responsable_2
from
tb_invoice t1
inner join tb_users tu1 on tu1.id_user=t1.id_user1
inner join tb_users tu2 on tu2.id_user=t1.id_user2
where
t1.num = 123456
如果一张发票只能有一个(或没有),那么建议使用左加入而不是内部加入