【问题标题】:'IN' query in fusion table融合表中的“IN”查询
【发布时间】:2012-04-29 18:19:15
【问题描述】:

在下面的代码中,我想添加“IN”+Village+。在代码中的何处添加此条件。变量村庄从下拉列表中获取值,基于该过滤器应该发生。请帮助我。村庄名称是我的融合表中的一列。
即从 querypass > textvalue IN villagename='madurai' 的表中选择 'geometry',villageName

function querymape()
        {
        /*variable holds the value*/ 
        var village =document.getElementById('village').value.replace(/'/g, "\\'");
        var operatore=document.getElementById('operatorstringe').value.replace(/'/g, "\\'");
        var textvaluee=document.getElementById("text-valuee").value.replace(/'/g, "\\'");
        var querypasse=document.getElementById('query-passe').value.replace(/'/g, "\\'");

            {
             layer.setQuery("SELECT 'geometry'," + querypasse + " FROM " + tableid + " WHERE " + querypasse + " " + operatore + " '" + textvaluee + "'"+"AND 'VillageName=+village+'");
            }


    }

/*This is my new code.But its not working.Please help me*/
function querymap()
{
//var villagename='';
var operator=document.getElementById('operatorstring').value.replace(/'/g, "\\'");
var textvalue=document.getElementById("text-value").value.replace(/'/g, "\\'");
var querypass=document.getElementById('query-pass').value.replace(/'/g, "\\'");
var searchStringe = document.getElementById('Search-stringe').value.replace(/'/g, "\\'");
    {
     layer.setQuery("SELECT 'geometry'," + querypass + " FROM " + tableid + " WHERE " + querypass + " " + operator + " '" + textvalue + "'"+"AND 'VillageName'="+ searchStringe+"");
    }

}

【问题讨论】:

    标签: sql google-maps-api-3 google-fusion-tables


    【解决方案1】:
    1. 可以使用关键字“and”组合多个条件吗?
    2. 您扭曲了 IN 语法,当您想要匹配多个值时使用它,如果您只想与单个值进行比较,请改用“=

    应用于您的查询(使用 IN 语法):

         select 'geometry',villageName from table where querypass > textvalue and villagename IN ('madurai','another village')
    

    使用 = 语法:

         select 'geometry',villageName from table where querypass > textvalue and villagename = 'madurai'
    

    【讨论】:

    • 这不起作用.....layer.setQuery("SELECT 'geometry'," + querypasse + " FROM " + tableid + " WHERE " + querypasse + " " + operatore + " ' " + textvaluee + "'"+"AND 'VillageName=+vil​​lage+'");
    • layer.setQuery("SELECT 'geometry'," + querypass + " FROM " + tableid + " WHERE " + querypass + " " + operator + " '" + textvalue + "'"+" AND 'VillageName'="+ searchStringe+"");
    • 确保用引号将字符串参数括起来,并正确命名变量和列(querypass 与 querypasse,村名与村名)。这应该有效: layer.setQuery("SELECT 'geometry'," + querypass + " FROM " + tableid + " WHERE " + querypass + " " + operator + " '" + textvalue + "' AND VillageName = '"+ searchStringe+ "'");
    • 欢迎您!如果这回答了您的问题,最好将我的答案标记为已接受的答案 :-)
    猜你喜欢
    • 1970-01-01
    • 2013-05-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多