Sql 查询以匹配ID为的人员
假设我们有两张桌子。 首先是一些订单:销售人员id、客户id、日期、价格。。。等 第二个是用于人员记录的人员:人员id、姓名、邮件。。。等 我需要选择包含客户和销售人员姓名的订单。 所以这行记录看起来像这样Sql 查询以匹配ID为的人员,sql,join,Sql,Join,假设我们有两张桌子。 首先是一些订单:销售人员id、客户id、日期、价格。。。等 第二个是用于人员记录的人员:人员id、姓名、邮件。。。等 我需要选择包含客户和销售人员姓名的订单。 所以这行记录看起来像这样 order.order_id, order.date, name (for customer), name (for salesperson) 我不想显示人的ID,只想显示姓名 我不能两次加入PERSON表,所以,我的问题是如何做到这一点 是,您可以-加入person表两次,但别名不同 s
order.order_id, order.date, name (for customer), name (for salesperson)
我不想显示人的ID,只想显示姓名
我不能两次加入PERSON表,所以,我的问题是如何做到这一点 是,您可以-加入
person
表两次,但别名不同
select o.order_id, o.date,
c.name as customer,
s.name as sales_person
from order_table o
left join person_table c on c.id = o.customer_id
left join person_table s on s.id = o.salesperson_id
你不能加入一次,然后做一个OR吗?比如…在p.id=o.customer\u id或p.id=o.salessorson\u id.上左连接person\u表p,或者类似的东西?这会降低性能吗?不,这是你做的方式。而且性能不应该成为问题,因为您使用主键加入。