SQL поиск между значениями в БД (Zipcode) - PullRequest
1 голос
/ 07 февраля 2012

Я работаю над кодом, который предоставляет основную информацию о месте, где вы живете, в Нидерландах.

Там мне нужен «id» из почтового индекса, который может варьироваться между почтовым индексом A (1234) и почтовым индексом B (1236). Эти начальные и конечные числа уже есть в базе данных. Но мне не удалось получить идентификатор, потому что я получаю сообщение об ошибке с синтаксисом SQL.

Я пытался сделать следующее:

SELECT `id` WHERE `9291` BETWEEN 'zipA' AND 'zipB'
SELECT `id` WHERE `zipA` > '9291' OR `zipB` < '9291'
SELECT `id` WHERE `zipA` > '9291' AND `zipB` < '9291'

Что я мог сделать, чтобы сделать эту работу? Я только начинающий с MYSQL и php, в настоящее время я работаю с CodeIgniter 2.1.0

Большое спасибо!

1 Ответ

0 голосов
/ 07 февраля 2012
SELECT `id` WHERE `9291` BETWEEN 'zipA' AND 'zipB'
SELECT `id` WHERE `9291` BETWEEN 'zipA' AND 'zipB'
SELECT `id` WHERE `zipA` > '9291' AND `zipB` < '9291'

Пара вещей:

  • Невозможно сравнить целочисленное значение со значением типа char / varchar. Это мне кажется, что вы пытаетесь сравнить столбец 9291 с строковые значения 'zipA' И 'zipB'.
  • Будьте осторожны с обратными кавычками / одинарными кавычками.
  • Где твое утверждение ОТ? Вы выбираете столбец id ОТ?

Не могли бы вы попробовать что-то вроде этого:

SELECT
   id
FROM
   zip_code_table
WHERE
   zip BETWEEN 9000 AND 9100
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...