0
두 세트의 ID (dec_id 및 rec_id)가있는 테이블이 있습니다. table1에 dec_id가 있으면 왼쪽 테이블에 조인해야합니다. 그렇지 않은 경우 table2를 조인합니다. 두 번째 열에 대해서도 마찬가지입니다. 나는 또한 어떤 ID가 어떤 테이블에 있는지 알 필요가있다. 모든 의도와 목적 (떨어져 실제 데이터에서) 동일한 위해MySQL : if/case 문을 기반으로 다른 테이블 조인
dec_id rec_id ----------------- 11 16 23 24 15 31
표 2 및 3은 :
id name data1 data2 ------------------------------------------ 11 a x p 41 b y q 55 c z r
그리고 로직 (추상적
여기에 표 1의 추상 구조의) :
IF (dec_id IS IN Table1) {
LEFT JOIN Table1 on (dec_id = table1.id);
LEFT JOIN Table2 on (rec_id = table2.id);
FLAG = 1;
} ELSE {
LEFT JOIN Table1 on (rec_id = table1.id);
LEFT JOIN Table2 on (dec_id = table2.id);
FLAG = 0;
}
LEFT JOIN Table3, Table4, ...
결과가 하나 이상의 쿼리로 PHP에서 달성 될 수 있지만, 나는하고 싶다. 가능한 한 능률을 위해 그것을 피하십시오; 불행히도 내 SQL 지식 나를 실패. 사전에
감사합니다!
입니다! – user2758437
@ user2758437 대단히 환영합니다. 내가 도울 수있어서 기뻐. :) – peterm