에 보관 관계를 비교 내가 5 표, A
, AZ
, Z
, BZ
, B
이SQL은 여러 테이블 연결
(난이 질문을 설명하는 힘든 시간을 보내고 있습니다).
AZ
은 A
과 Z
사이의 다 대다 관계를 나타냅니다. BZ
은 B
과 Z
사이의 다 대다 관계를 나타냅니다.
결과 집합은 A B
이고 B
은 A
의 Z
풀 세트에 연결됩니다.
Tag1
Tag2
Tag3
A
는 개체 테이블이며, 포함 :
ObjectA
ObjectB
ObjectC
B
이 위젯 표이며이 포함
자, Z
이 태그 테이블 및 포함 가정 해 봅시다
WidgetX
WidgetY
WidgetZ
AZ
co ntains :
ObjectA Tag1
ObjectA Tag2
ObjectB Tag3
ObjectC Tag2
ObjectC Tag3
BZ
포함은 :
WidgetX Tag1
WidgetX Tag2
WidgetY Tag2
WidgetY Tag3
WidgetZ Tag3
내 결과로 설정하려는 :
ObjectA WidgetX
ObjectB WidgetY
ObjectB WidgetZ
ObjectC WidgetY
쿼리에서이 행할, 또는 내가 다시 일부 중간 세트를 당겨해야 데이터를 반복하고 코드를 반복합니까?
올바른 결과 집합이 아닙니다. ObjectA는 Tag1 및 Tag2에 연결됩니다. WidgetY는 Tag1에 연결되어 있지 않으므로 WidgetY에 대한 ObjectA는 유효하지 않습니다. –
@JacobG - 장래에 더 나은 테이블 이름과 실제 데이터를 사용하려고하면이 예제가 더 어려워집니다. – JonH
@JacobG - 알겠습니다. 올바른 것으로 수정되었습니다 ... 그게 효과가 있는지 알려주세요. – Eric