これを Google Fuision Tables Query に実装する方法はありますか?
...WHERE (('Field 1' = 'Value 1') OR ('Field 2' = 'Value 1'))
OR が Google Fusion Tables に実装されていないことは承知していますが、このクエリが可能かどうかを知りたいです。ありがとう。
これを Google Fuision Tables Query に実装する方法はありますか?
...WHERE (('Field 1' = 'Value 1') OR ('Field 2' = 'Value 1'))
OR が Google Fusion Tables に実装されていないことは承知していますが、このクエリが可能かどうかを知りたいです。ありがとう。
実際には、OR句がないことに対処する回避策がいくつかあります。努力する価値があるかどうかは、読者の判断にお任せします。
これに取り組む 1 つの方法は、OR句をAND句で表現することです。正確には3 つのAND句で、次のような 3 つの異なるフュージョン テーブル クエリになります。
SELECT * FROM <table_id> WHERE 'Field 1' = 'Value 1' AND 'Field 2' = 'Value 1'
SELECT * FROM <table_id> WHERE 'Field 1' = 'Value 1' AND 'Field 2' NOT EQUAL TO 'Value 1'
SELECT * FROM <table_id> WHERE 'Field 1' NOT EQUAL TO 'Value 1' AND 'Field 2' = 'Value 1'
これら 3 つのクエリを組み合わせた結果は、事実上、融合テーブルで使用できる場合にORクエリがもたらす結果になります。
もう 1 つのアプローチは、次のようにOR句 (別名NOR ) の逆を実行することです。
SELECT ROWID FROM <table_id> WHERE 'Field 1' NOT EQUAL TO 'Value 1' AND 'Field 2' NOT EQUAL TO 'Value 1'
このクエリは、OR 句によって破棄された行の ROWID を返します。したがって、テーブル内のすべての ROWID のリストを取得し、NOR クエリによって生成されたそれらの ID を削除すると、OR クエリによって生成された行 ID が残ることになります。これらの ROWID を使用してクエリを記述し、完全な行データを取得できます。
SQL リファレンスで説明されているように、比較的少数の条件の場合は、IN を使用できます。あなたの例では、それは
WHERE 'Field 1' IN ('Value 1', 'Value 2')