첫 번째 코드는 MonetDB에서 실행할 수 없습니다 :다음 코드의 차이점은 무엇입니까?
SELECT rc0.id as runcat, x0.id as xrtcat
FROM extractedcatalog x0
INNER JOIN image i0
ON i0.id = 1 AND i0.id = x0.image
INNER JOIN runningcatalog rc0
ON rc0.zone BETWEEN x0.zone-1
AND x0.zone+1
AND rc0.wm_decl BETWEEN x0.decl - i0.rb_smaj
AND x0.decl + i0.rb_smaj
AND rc0.x*x0.x +rc0.y*x0.y +rc0.z*x0.z >cos(radians(i0.rb_smaj));
연결이 종료!
하지만 다음 코드는 매우 빠르게 실행될 수 있습니다.
SELECT rc0.id as runcat, x0.id as xrtcat
FROM extractedcatalog x0
INNER JOIN image i0
ON i0.id = 1 AND i0.id = x0.image
INNER JOIN runningcatalog rc0
ON rc0.zone BETWEEN x0.zone-1
AND x0.zone+1
AND rc0.wm_decl BETWEEN x0.decl - i0.rb_smaj
AND x0.decl + i0.rb_smaj
AND rc0.x*x0.x +rc0.y*x0.y +rc0.z*x0.z >cos(radians(0.0055));
테이블 이미지에는 id = 1, rb_smaj = 0.0055라는 행이 하나만 있습니다. 대단히 감사합니다!
감사합니다. Bohermian, 이미지 테이블이 큰 경우 이미지 테이블이 1 행만 있습니다. 코드를 시도했는데 다음 번에 수행하는 방법을 알려줄 수 있습니까? 마지막 조건은 3 개의 테이블을 포함하고 내부를 만드는 방법입니다. 쿼리 조건에 관련된 열을 선택하려면? – user2706760