테이블 B에 저장된 값 'x'을 사용하여 테이블 A에서 결과 세트를 얻는 mysql 쿼리를 만들었습니다. 지금 'x'가 필요할 때마다 다시 리셉션해야합니다. 6 번.복잡한 mysql 문에서 다중 SELECT
SELECT * FROM A WHERE a = (SELECT x FROM B ...) AND b = (SELECT x FROM B ...)-5 AND c = (SELECT x FROM B ...)+7
내 SQL 문의 평가 기간 동안 그 값을 'x'를 저장할 수있는 방법이 있나요 :
는 내 쿼리의단순화 된 버전은 다음과 같이 보이는? 그렇지 않으면 2 개의 쿼리를 대신 사용하는 것이 좋습니다 (처음에는 'x'를 얻고 두 번째 것은 'x'와 함께 사용).
당신이 내 문 중 하나를보고 싶다면, 여기에 예입니다
"(SELECT * FROM map WHERE x BETWEEN :x-:sight and :x+:sight AND y BETWEEN :y-:sight+:map_max_y and :map_max_y) /*1.part*/
UNION
(SELECT * FROM map WHERE x BETWEEN :map_min_x and MOD((:x+:sight),:map_max_x) AND y BETWEEN :y-:sight+:map_max_y and :map_max_y ORDER BY y LIMIT 225) /*2.part*/
UNION
(SELECT * FROM map WHERE x BETWEEN :x-:sight and :map_max_x AND y BETWEEN :map_min_y and :y+:sight ORDER BY y LIMIT 225) /*3.part*/
UNION
(SELECT * FROM map WHERE x BETWEEN :map_min_x and MOD((:x+:sight),:map_max_x) AND y BETWEEN :map_min_y and :y+:sight ORDER BY y LIMIT 225) /*4.part*/";
'X', 'Y', '시력'모든 DB에 저장되고 내 눈은 다시로드 상처 그들은 여러 번 (이것은 DB에서 아직로드하지 않는 오래된 버전입니다). 그리고 2 쿼리를 만드는 것은 나쁜 습관이라고 생각합니다.
는 사람 :
Mysql에는 변수가 있습니다 (참조 : http://dev.mysql.com/doc/refman/5.0/en/user-variables.html). 이게 당신이 직접 질문에 대답하는 데 도움이 될 것 같습니까? – bwoebi
'select @x_from_b : = x from b'? –
고마워요, 제가 그걸 읽을 것입니다. 내가 MySQL 레슨을 놓친 것 같아 :) # –