2012-06-04 4 views
-1

2 개의 테이블이 있습니다. 그들 중 하나는 한계 숫자를 가지고 있습니다.SQL/제한 (다른 쿼리)

그리고 난 선택 TOP 절 제한을

SELECT * FROM table WHERE x='1' LIMIT (another query) 
+2

당신이 어떤 에러가 발생합니까 : – FSP

+1

무엇이 문제입니까? 너 무슨 짓을 한거야? 어떻게 실패 했습니까? 어떻게 도와 드릴까요? –

+0

MS SQL 및/또는 MySQL 인 경우 태그를주십시오 –

답변

0

의 MySQL에서는 일반 querys를 사용하는 것을 할 수 없습니다. LIMIT 절은 변수를 허용하지 않습니다. LIMIT 절은 상수 만 허용합니다.

일반 쿼리 대신 저장 프로 시저를 사용해야합니다. SP에 코드 내부의이 같은

에 한번 사용 무언가 :

DECLARE offset bigint 
SELECT your_field INTO offset FROM your_table where your_conditions 
SELECT * FROM other_table LIMIT offset; 
0

당신이 \ 제가 여러 사람에게 제안하는 select 문에서 SQL을 생성하고 그 다음을 실행합니다. 여기 내 해결책은 다음과 같습니다.

SELECT "select * from other_table LIMIT ", your_field 
FROM your_table where your_conditions 

그런 다음이 새 SQL을 실행하십시오. 물론 이것은 UNIX/Linux와 스크립팅 언어에서 가장 잘 작동합니다.

PREPARE stmt FROM "SELECT * FROM table WHERE x='1' LIMIT ?"; 
SET @limit = (another query); 
EXECUTE stmt USING @limit; 
+0

왜 SQL을 반환 할 쿼리가 필요합니까 ??? – wroniasty

0

은 준비된 문을 사용하여?
관련 문제