2017-05-01 13 views
1

は私が のCouchbase:(Java)の

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」)を実行したときにのみ機能します。なぜこれが当てはまるのか分かりません。

なぜこれが機能しないのですか?おそらくdate列になく、「日付」の値を参照していません

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

:クエリはこのような何かに変換されますので、

答えて

0

問題が起こります。

列の名前を指定する代わりに、列の位置を表すインデックスを使用できます。

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

関連する問題