테이블이 t, 900-9500입니다. 내 작업의 목적을 위해, 나는 다음과 같은 것을 할 필요가있다. (이 유형의 쿼리 뒤에 이유를 넣으려는 시도에 의미가 없다고 생각한다.) ID는 고유하지 않다. 다소 외래 키라고 말하자)!MySQL UNION은 존재하지 않는 ID를 반환합니다.
SELECT DISTINCT(t5.id) FROM (
SELECT DISTINCT(t1.id) FROM t t1 WHERE {...}
UNION SELECT DISTINCT(t2.id) FROM (
SELECT DISTINCT(t0.id) FROM t t0 WHERE {...}) as t2
INNER JOIN t t3 ON t2.id=t3.id WHERE{...}
UNION SELECT DISTINCT(t3.id) FROM t t4 WHERE {...})
t5 ORDER BY t5.id
문제 쿼리가, 지금까지 900 기존의있는 ID를 반환합니다. 10.000-20.000 이상으로 이동하십시오. 필요한 정보를 모두 제공하도록 도와주세요.
을하지만, 아마도 당신은에 id'으로'추가해야 두 번째 선택 필드는 아래 답변과 같습니다. –
네가 맞다. 내가 제공 한 예문은 문법 오류가있어 편집 할 것이다. 문제는 결과와 관련이 있지만 단순화 된 예제의 구문은 아닙니다. – Orestes
솔직히, 나는 당신이 문제의 일반화를 정확하게 번역하지 않았다고 생각합니다. 당신은 중복을 제거하고 독특한 ... 조합을 사용하고 있습니다 이것은 당신이 최대 900 결과를 가질 수 있음을 의미합니다. 마음에 오는 첫 번째 아이디어는 당신이 당신의 모범을 정확하게 번역하지 않았다는 것입니다. – hummingBird