Запрос IN в сводной таблице

В следующем коде я хочу добавить «IN» + Village +. Где добавить это условие в код. Переменная деревня берет значение из выпадающего списка на основе этого фильтра. Пожалуйста, помогите мне. Название деревни - это столбец в моей таблице слияния. мадурай

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+"");
    }

}

person 7783    schedule 18.04.2012    source источник


Ответы (1)


  1. Несколько условий можно объединить с помощью ключевого слова "и"?
  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'
person Odi    schedule 18.04.2012
comment
Это не работает.....layer.setQuery(SELECT 'геометрия', + querypasse + FROM + tableid + WHERE + querypasse + + operatore + ' + textvaluee + '+AND 'VillageName=+village+'); - person 7783; 19.04.2012
comment
layer.setQuery(SELECT 'геометрия', + querypass + FROM + tableid + WHERE + querypass + + оператор + ' + textvalue + '+AND 'VillageName'=+ searchStringe+); - person 7783; 19.04.2012
comment
Обязательно заключайте строковый параметр в кавычки и правильно называйте переменные и столбцы (querypass или querypasse, имя деревни и название деревни). Это должно работать: layer.setQuery(SELECT 'geometry', + querypass + FROM + tableid + WHERE + querypass + + operator + ' + textvalue + ' AND VillageName = '+ searchStringe+'); - person Odi; 19.04.2012
comment
Добро пожаловать! Если это ответило на ваш вопрос, было бы неплохо пометить мой ответ как принятый ответ :-) - person Odi; 19.04.2012