Модераторы: skyboy
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Условие в самом запросе 
:(
    Опции темы
supercelt
Дата 1.2.2008, 14:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 658
Регистрация: 25.8.2005

Репутация: нет
Всего: 1



Код

$q=mysql_query("SELECT id, City, Address, Phone, Fax FROM iapp_bsfirms EHERE City....... ORDER BY id");


Как написать? Вместо точек надо поставить такое условие: где City либо любое число, либо пустое поле

HELP
PM   Вверх
merge
Дата 1.2.2008, 14:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 84
Регистрация: 20.3.2007

Репутация: нет
Всего: 1



City = 5 OR City is NULL
PM MAIL   Вверх
GeneralElectric
Дата 1.2.2008, 14:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 797
Регистрация: 11.1.2008

Репутация: нет
Всего: 16



supercelt, а что в поле может быть кроме числа и пустого значения?
PM MAIL   Вверх
MoLeX
Дата 1.2.2008, 14:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Местный пингвин
****


Профиль
Группа: Модератор
Сообщений: 4076
Регистрация: 17.5.2007

Репутация: нет
Всего: 140



Цитата(supercelt @  1.2.2008,  14:26 Найти цитируемый пост)
 EHERE

а такое то есть  smile!
всегда думал что WHERE


--------------------
Amazing  smile 
PM MAIL WWW ICQ   Вверх
supercelt
Дата 1.2.2008, 14:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 658
Регистрация: 25.8.2005

Репутация: нет
Всего: 1



Знаю что WHERE, просто опечатка)), в поле может быть ещё вот что: Санкт-Петербург и тд. Merge, а почему ты пишешь, что City = 5. Там надо любое число. Главное что это число, а какое, не важно
PM   Вверх
GeneralElectric
Дата 1.2.2008, 15:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 797
Регистрация: 11.1.2008

Репутация: нет
Всего: 16



supercelt, а, может, лучше сделать так, чтобы там были только числа?
тебе вообще этот запрос один раз нужен, или постоянно для работы приложения?
Если для того, чтобы привести базу в нормальную форму, то можно как-то извратиться. А если так и пранируется все время делать, то лучше не стоит
PM MAIL   Вверх
supercelt
Дата 1.2.2008, 15:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 658
Регистрация: 25.8.2005

Репутация: нет
Всего: 1



Будет использоваться всего один раз. Просто базу надо поправить. В поле города, кое-где неверно записано. Там где числа и пустые, те надо вывести, что бы не выводить всё несколько тысяч строк.
PM   Вверх
bars80080
Дата 1.2.2008, 15:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 5
Всего: 315



если один раз, то может лучше вывести все, а затем проверить средствами пхп, типа is_numeric and empty ?
PM MAIL WWW   Вверх
skyboy
Дата 1.2.2008, 15:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 41
Всего: 260




M
skyboy
При чем тут PHP, если цель - сделать средствами MySQL? Едем в "базы даных: mysql"

Можно воспользоваться оператором REGEXP типа
Код

WHERE `City` is NULL OR `City` REGEXP "^[[:digit:]]*$"

только обрати внимание на примечание в мануале: регистрозависимая и проблема с многобайтными кодировками :(
PM MAIL   Вверх
skyboy
Дата 1.2.2008, 15:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 41
Всего: 260



Цитата(bars80080 @  1.2.2008,  14:19 Найти цитируемый пост)
если один раз, то может лучше вывести все

если резульатат выборки используется в качестве подзапроса и связывается по JOIN или используется в "IN ...", то вариант с передачей сервер-клиент-сервер двойная переброска будет тормозить. Сильно. Уж лучше привести(если есть) текст к однобайтной кодировке и воспользоваться REGEXP

Добавлено через 1 минуту и 10 секунд
Цитата(skyboy @  1.2.2008,  14:43 Найти цитируемый пост)
воспользоваться REGEXP

или написать свою UDF
PM MAIL   Вверх
supercelt
Дата 1.2.2008, 16:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 658
Регистрация: 25.8.2005

Репутация: нет
Всего: 1



Код

WHERE `City` is NULL OR `City` REGEXP "^[[:digit:]]*$"


Не работает. Выводит все записи из базы
PM   Вверх
GeneralElectric
Дата 1.2.2008, 16:55 (ссылка) |   (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 797
Регистрация: 11.1.2008

Репутация: нет
Всего: 16



а я бы написал City+1 > 1
PM MAIL   Вверх
skyboy
Дата 1.2.2008, 17:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 41
Всего: 260



Цитата(supercelt @  1.2.2008,  15:38 Найти цитируемый пост)
Выводит все записи из базы

среди этих "всех" есть те, которые не из чисел?
кодировка в таблице какая? 
обращаю ещё раз внимание:
Цитата(skyboy @  1.2.2008,  14:22 Найти цитируемый пост)
регистрозависимая и проблема с многобайтными кодировками


PM MAIL   Вверх
supercelt
Дата 1.2.2008, 17:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 658
Регистрация: 25.8.2005

Репутация: нет
Всего: 1



Выводит абсолютно всё.. Кодировка windows-1251
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | MySQL | Следующая тема »


 




[ Время генерации скрипта: 0.0609 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.