mysql-使用可选外键搜索表

von4xj4u  于 2021-07-26  发布在  Java
关注(0)|答案(0)|浏览(212)

我有一个db模式,这里有一个类似的模式:

Table Structure{
    struct_id       
    struct_name 
}

Table Department {
    dept_id 
    struct_id -> Foreign Key to Structure
    dept_name
    ...
}

Table Section {
    sec_id
    dept_id -> Foreign Key to Department
    sec_name
    ...
}

Table item_manifold{
    iman_id
    sec_id -> Foreign Key to Section
    dept_id -> Foreign Key to Department
}

Table Item {
    item_id
    iman_id-> Foreign Key to item_manifold
    item_name 
}

Item 可以属于某个部门或部门
这个 item_manifold 表负责引用完整性—其中每行只有一个 sec_id 或者 dept_id 为空,另一个是有效的外键(到部门或部门)。
但是,我需要一个视图来显示以下数据: struct_name, dept_name, sec_name, item_name 哪里 sec_namenull 如果物品属于部门。
我知道如何用一个 UNION ALL 在两条穿过 item_manifold 表,但这大大减慢了我的查询速度(原因很明显)。
我怎样才能有效地做到这一点?谢谢!

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题