테이블이 5 개 있습니다. 기본 테이블은 RisCtx
, RisObj
및 Ris
입니다.Sql 두 개의 다 대다 관계가있는 3 개 테이블을 쿼리하십시오.
RisCtx
* ----------- * RisObj
RisObj
* ----------- * Ris
(* --- * = 다 - -many)
그래서 더 많은 테이블이 RisCtxRisObj
과 RisObjRis
(many-to-many)으로되어 있습니다. 내가 원하는 무엇
는 Ris
저점 RisObj
에 연결되어 RisCtx
의 모든 기록을 수집하는 view
를 만드는 것입니다.
나는 좀 단서가있어 :(.. 내가 INNER에 대해 뭔가 조인을 읽을 수는 있지만 내가 조금 여유가 표시되지 않습니다 ...
스키마
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