我有5个表。主表是:RisCtx
,RisObj
和Ris
。sql查询2个多对多关系的3个表
RisCtx
* ----------- * RisObj
RisObj
* ----------- * Ris
(* --- * =多到-many)
所以我又有两个表叫做:RisCtxRisObj
和RisObjRis
(对于多对多)。
我想要的是创建一个view
,它收集RisCtx
中的所有记录,它们与Ris
槽RisObj
有关。
我得有点不知道:(..我看了一些关于内部连接,但我没有看到一点间隙...
架构
CREATE VIEW `mydb`.`CtxView_CtxFromObj_ObjFromRisk` AS
select RisCtx.*
from RisCtx
inner join RisCtxRisObj on RisCtx.id=RisObjRisCtx.RisCtx_id
inner join RisObj on RisObjRisCtx.RisObj_id=RisObj.id
inner join RisObjRis on RisObj.id=RisObjRis.Objective_id
inner join Ris on RisObjRis.Risk_id=Ris.id
请发表您的架构 – RedFilter
好吧,我已经发布了架构,并删除了一些没有必要的东西。会是这样吗? (请参阅OP中的其他信息) – Highmastdon
是的,您的代码看起来不错。 – RedFilter