2016-05-08 8 views
-2

App Inventor 2GetRowsWithConditionsメソッドを使用してテーブルからいくつかの行を取得しようとしています。私はANDを使用して正しく動作しますが、ORを使用した場合は
400 Bad Request Invalid query: Parse error near 'OR'となります。GetRowsWithConditionsを使用することができますが、ORは使用できません。

条件はFusiontable SQL言語には存在しません

WHERE ROWID=1 OR ROWID=1001 OR ROWID=2001 

答えて

1

Taifunが述べたように、 "OR"はFusion Tablesではサポートされていませんが、代わりのsuggested by Googleは "IN"を使用することです。

Wikipedia Entry:

IN候補の集合内の既存の任意の値を検索します。

すべての行は、値が候補値セットの1つである場合、述語に一致します。これは、後者がいくつかの列の比較を可能にする点を除いて同じ動作であり、各IN節はそうでないことを除いて同じ動作である(

SELECT ename WHERE ename='value1' OR ename='value2' 

)多数の候補については、INのほうが冗長ではありません。理論的にはそう


*、クエリを再フォーマットすることになります。

... WHERE ROWID IN ('1','1001','2001') 

希望に役立つこと!

*私はいつもカスタムID列を作成したので、フィルタとしてROWIDを使用したことがないので、私は理論的に言っています。

+0

これは正しいですし、理論だけでなく実際には、あなたの答えは時間の無駄ではありませんでした;-)また、受け入れられた回答でなければなりません...残念ながら、質問は答えを見るために戻って来なかった... – Taifun

+0

それについては残念です。私は自由な時間にこれをやっています。それほど大したことではありません。私はできるだけ早くそれを試してみます。私は気が変わったので、このようにするために、この部分を書き直す必要があります。それははるかに良いです。 –

+0

もう一度、私はSELECTで試してみましたが、正しく動作しています。今私はDELETEと同じことをしたいと思いますが、私はエラーがあります。リンクのタクウィン(遅くなってしまって申し訳ありません)リンクされているのと同じように動作するはずですが、そうではないようです。 –

関連する問題