2017-05-01 16 views
1

내가 카우치베이스 주식회사 (자바)

String stmt = "SELECT * FROM bucket ... ORDER BY $sortCategory DESC"; 

간다 매개 변수가있는 쿼리가 작동하지 ORDER BY 절에 매개 변수화 된 쿼리 그럼 내가 갈 : 그것은 제대로 정렬 아니에요

ParameterizedQuery query = ParameterizedQuery.parameterized(stmt, JsonObject.create().put("sortCategory", "dateUploaded")); 

. 나는 심지어 query.statementParameters()를 출력하고 내 매개 변수를 제대로 인쇄하고 있습니다. 하드 코드 ("ORDER BY dateUploaded DESC")를했을 때만 작동했습니다. 이것이 왜 그런지 확실하지 않습니다.

왜 작동하지 않습니까? 쿼리가 이런 식으로 번역됩니다 때문에

답변

0

문제가 발생합니다 : 아마도 date 칼럼 그러나 '날짜'가치에 기초를 만드는되지

SELECT * FROM bucket ... ORDER BY 'date' DESC; 

합니다.

열 이름을 지정하는 대신 열 위치를 나타내는 색인을 사용해보십시오.

String stmt = "SELECT date, column2, column3 FROM bucket ... ORDER BY $sortCategory DESC"; 

ParameterizedQuery query = ParameterizedQuery.parameterized(stmt, JsonObject.create().put("sortCategory", 1)); 
+0

필드의 정렬 이름은 실제로 "dateUploaded"입니다. 미안합니다. 그것은 정렬에 다른 필드를 선택했기 때문에 중요하지 않습니다. 그리고 그것은 여전히 ​​작동하지 않았습니다. – mpmp