如何在 SQLite 中连接主表的多个列的查找表

问题描述 投票:0回答:1

我有两张桌子。员工(查找)表包含 empl_id 和 empl_name 以及其他字段。订单(主)表包含 order_nbr、cashier_id、cashout_id 和 driver_id。这些都包含与员工表中的 empl_id 的匹配。

如何在订单报告中显示收银员姓名、收银员姓名和司机姓名?

使用左连接来匹配empl_id的cashier_id并且可以工作,但是我无法正确打印cashout和驱动程序名称,总是在所有三列中显示cashier_is的名称。

sqlite join
1个回答
0
投票

您应该能够为每个所需的“员工姓名”添加所需的联接:

select 
    o.order_id,
    o.empl_id, e1.empl_name,
    o.cashier_id, e2.empl_name as cashier_name,
    o.driver_id, e3.empl_name as driver_name
from 
    orders o
    left join employees e1
    on o.empl_id = e1.empl_id
    left join employees e2
    on o.cashier_id = e2.empl_id
    left join employees e3
    on o.driver_id = e3.empl_id
© www.soinside.com 2019 - 2024. All rights reserved.