SELECT
table1.a,
table1.b,
(SELECT b
FROM table2
WHERE table2.b - table1.a < 10
LIMIT 0,1) as test
FROM table1
WHERE table1.b < test;
내 쿼리의 WHERE 부분에서 SELECT "변수" 테스트 에서 받은 결과를 사용하려고 합니다.
계산을 다시 수행하지 않고 WHERE에서 다시 수행하는 방법에 대한 아이디어가 있습니까? 그것이 내가 지금까지 작동하게 만든 방법입니다.
WHERE에서는 사용할 수 없지만 HAVING을 사용할 수 있습니다. 결과가 있습니다. 그러나 그것은 그다지 성능이 좋지 않습니다.
SELECT table1.a, table1.b,
(select b FROM table2 WHERE table2.b-table1.a<10 LIMIT 0,1) as test
FROM table1
HAVING table1.b<test
WHERE를 사용하려면이 위치에서도 SUBSELECT를 만들어야합니다.
SELECT table1.a, table1.b,
(select b FROM table2 WHERE table2.b-table1.a<10 LIMIT 0,1) as test
FROM table1
WHERE table1.b < (select b FROM table2 WHERE table2.b-table1.a<10 LIMIT 0,1)
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다