2012-02-07 2 views
1

Я работаю над кодом, который предоставляет основную информацию о том месте, где вы живете, в Нидерландах.SQL-поиск между значениями в DB (Zipcode)

Там, где мне нужен «идентификатор» от почтового индекса, который может варьироваться от zip A (1234) от zip 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

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

+4

Вы можете разместить вам структуру таблицы? – Mithrandir

+0

Какое сообщение об ошибке? – Toto

ответ

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

Пара вещей:

  • Вы не можете сравнивать целое значение со значением голец/VARCHAR. Это выглядит так, как будто вы пытаетесь сравнить столбец 9291 с строками «zipA» и «zipB».
  • Будьте осторожны с вашими обратными тактами/одинарными кавычками.
  • Где ваше заявление FROM? Вы выбираете столбец id FROM?

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

SELECT 
    id 
FROM 
    zip_code_table 
WHERE 
    zip BETWEEN 9000 AND 9100 
+0

zipA и zipB где примеры и содержат значения zipcode (например, 1234). – Loed

+0

Вы были правы, я полностью пропустил оператор from, с этим я могу управлять данными через объекты. Большое спасибо! – Loed

+0

Удивительно, будьте осторожны с вашими backticks \ 'и вашими одиночными кавычками '. –