내가 진행하고있는 프로젝트에서, 나는 하데스의 테이블 구조에 매달렸다. 유의해야 할 두 가지 사항은 다음과 같습니다.내가 찾는 데이터를 가져올 수있는 MySQL 쿼리?
- 지금은 표 구조를 변경할 수 없습니다. 나는 당분간 그것에 붙어있다.
- 쿼리가 동적으로 생성되고 하드 코딩되지 않습니다. 따라서이 데이터를 가져올 수있는 쿼리를 요청하는 동안 실제로 필요한 작업은 필요한 쿼리를 생성하는 알고리즘입니다.
바라건대, 나는 눈을 숙이 게하고 뇌가 내파르게하지 않고 문제를 설명 할 수 있기를 바랍니다. 여러 데이터 테이블이 라인을 따라가, 그리고
Instances InstanceID active 1 Y 2 Y 3 Y 4 N 5 Y 6 Y
: 표가 포함에
Table1 InstanceID field1 reference_field2 1 John 5 2 Sally NULL 3 Fred 6 4 Joe NULL Table2 InstanceID field3 5 1 6 1 Table3 InstanceID fieldID field4 5 1 Howard 5 2 James 6 2 Betty
는 reference_field2을 유의하시기 바랍니다
우리는이 라인을 따라 (간체) 보이는 인스턴스 테이블이 다른 인스턴스에 대한 참조입니다. Table2의 Field3은 좀 더 복잡합니다.
InstanceID field1 field4 1 John Howard 2 Sally 3 Fred
문제는, 내가 현재 가지고있는 쿼리에, 내가하지 않는 프레드 : 그것은 내가해야 할 것은 다음과 같이 나에게 목록을 얻을 것이다 쿼리는 3
표에 대한 fieldID가 포함되어 있습니다 fieldID가 1 InstanceID에 6의 표 3에 항목이 없기 때문에 그래서, 최고의 목록 내가 지금까지 얻을 수 있었던 것입니다있다
InstanceID field1 field4 1 John Howard 2 Sally본질적으로
, 필드 2의 표에 항목이있는 경우, 표 3에는 field2에 포함 된 instanceID와 필드 ID contai가있는 항목이 없습니다. field3의 네드, 나는 field1에서 데이터를 가져 오지 않습니다.
전 얼굴이 파란색 일 때까지 조인을 보았습니다. table3에 항목이없는 경우 사례를 처리 할 수있는 방법이 없습니다. 좌 가입
MySQL은 OUTER JOINS를 허용합니까? – FrustratedWithFormsDesigner