Оператор Like с SQL-скриптом Fusion Tables - PullRequest
0 голосов
/ 15 декабря 2011

У меня есть карта Google, которая извлекает данные из таблиц Fusion и отображает их. Когда вы нажимаете на многоугольник, карта увеличивается и показывает другие многоугольники внутри этого исходного многоугольника. Это достигается с помощью двух отдельных таблиц Fusion и некоторого jquery.

Моя проблема заключается в попытке показать только многоугольники в исходном многоугольнике, а не весь набор (например, только показ округов в выбранном штате, а не всех округов в США). Подполигоны хранятся с использованием кода xxyy, где xx - исходный полигон, а yy - подполигон (поэтому 1001 будет 10-м штатом и первым округом в этом штате).

Как, используя сценарий Fusion Tables "like SQL", я могу получить только подполигоны с первыми двумя цифрами кода, равными определенному числу? Вот что я попробовал:

map.setOptions({
  'query':
    {
    select: 'geometry', 
    from: ftnumber, 
    where: "'name' starts with " + stateCode
    }
});

name - это столбец с 4-значным кодом, а stateCode - переменная, в которой хранится 2-значный код для состояния.

Я тоже пробовал:

map.setOptions({
   'query':
      {
      select: 'geometry', 
      from: ftnumber, 
      where: "'name' like " + stateCode + "__"
      }
});

Второй вариант предпочтительнее (если это возможно), так как я мог бы использовать этот синтаксис для дальнейшего углубления, если это необходимо.

Окончательное решение:

  • В столбце «имя» установлено число
  • запрос

    stateCodeHigh = stateCode + 100; map.setOptions ({ «Запрос»: { выберите: «геометрия», от: номер, где: "name> =" + stateCode + "AND name <" + stateCodeHigh } }); </p>

1 Ответ

0 голосов
/ 20 декабря 2011

Оба этих запроса должны работать, если столбец name имеет тип String.

Проверьте тип столбца, выбрав Правка> Изменить столбцы . Нажмите на столбец «имя» в левом столбце. Если столбец не имеет тип «Текст», установите для столбца «Текст» с помощью раскрывающегося меню Тип .

...