2013-10-30 195 views
0

有沒有在Google Fuision Tables Query上實現此功能的方法?Google Fusion Tables或替代

...WHERE (('Field 1' = 'Value 1') OR ('Field 2' = 'Value 1')) 

我知道OR沒有在Google Fusion Tables上實現,但我想知道這個查詢是否可能。謝謝。

+0

[Fusion Tables過濾條件OR]的可能重複(http://stackoverflow.com/questions/10438720/fusion-tables-filter-conditions-or) –

回答

0

對於相對較少的條件,您可以使用IN,如SQL reference中所述。因此,在你的榜樣,這將是

WHERE 'Field 1' IN ('Value 1', 'Value 2') 
+0

感謝您的回答。但我有不同的情況。我輸入一個值來同時搜索兩個不同的字段。不要在一個字段中輸入兩個值進行搜索。 – JetPro

+0

那麼你不能用Fusion Tables來做到這一點。對不起,我錯過了他們是不同的字段名稱。 –

0

實際上有,解決缺少OR條款的一些解決方法。無論他們值得付出努力,我都會讓讀者去判斷。解決這個

的方法之一是表達一種條款方面條款。三個條款是準確的,我們結束了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' 

這三個查詢的綜合結果是有效的什麼OR查詢,這樣就造成了它可用於融合表。

另一種方法是執行OR條款(又名NOR)的逆如下:

SELECT ROWID FROM <table_id> WHERE 'Field 1' NOT EQUAL TO 'Value 1' AND 'Field 2' NOT EQUAL TO 'Value 1' 

該查詢返回,將已經由OR子句丟棄行的ROWIDs。因此,如果我們要獲取表中所有ROWID的列表並刪除NOR查詢生成的那些ID,我們將留下一個OR查詢會產生的行ID。我們可以反過來使用這些ROWID來編寫查詢來提取完整​​的行數據。