复杂的内部联接SQL

博丹·萨维奇(Bohdan Savych)

你是我最后的希望。我已经花了一整天了,但还没有决定如何创建此查询。

这是我当前的数据库图

在此处输入图片说明

每个存储都有1个名册

每个花名册都由酋长和工人组成。关于它们的信息在东西表上。

我想做什么?获取所有存储(方形地址),worker_name,worker_surname,chief_name,chief_surname。

到目前为止我有什么

select storage_address,
storage_square,
 stuffs.stuff_name as chiefSurname, 
stuffs.stuff_surname as chiefName from storages 
inner join storageRoster on storageRoster.storageRoster_id=storages.storage_roster_id 
inner join Chiefs on storageRoster.chief_id = Chiefs.chief_id 
inner join stuffs on Chiefs.chief_stuff_id = stuffs.stuff_id

但是在此查询中,我只能在每个存储上获得负责人。请帮忙。我很绝望。

佐哈尔·皮莱德(Zohar Peled)

您需要两次加入材料表,一次用于工作人员,一次用于负责人:

select storage_address,
storage_square,
cs.stuff_name as chiefSurname, 
cs.stuff_surname as chiefName,
ws.stuff_name as workerSurname, 
ws.stuff_surname as workerName 
from storages 
inner join storageRoster on storageRoster.storageRoster_id=storages.storage_roster_id 
inner join Chiefs on storageRoster.chief_id = Chiefs.chief_id 
inner join stuffs cs on Chiefs.chief_stuff_id = cs.stuff_id
inner join Workers on storageRoster.worker_id = Workers.chief_id 
inner join ws cs on Workers.worker_stuff_id = ws.stuff_id

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章