|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
11.05.2013, 03:43 | #1 |
Форумчанин
Регистрация: 18.10.2010
Сообщений: 419
|
Запрос. Много условий (or)
необходимо сделать выборку записей, по известным значениям полей.
т.е. есть список значений (допустим их 1000), и надо выделить записи, в которых встречается это значение. сразу скажу, что значения идут вразнобой и не по порядку, т.е. нельзя написать что-то типа (C1 >= 'v1') and (C1<=v2500) надо проверять отдельно каждое значение по логике запрос должен быть таким: SELECT * FROM MyTable WHERE (C1='v1') or (C1='v2') or (C1='v3') ... or (C1='v2500') но что-то мне подсказывает, что такой запрос база не схавает... в MySQL вообще предусмотрены такие ситуации? или это все ручками надо делать? ах да, на всякий случай: если нужно искать совпадение значений, то можно каждое значение искать отдельно, а что если нужно искать НЕсовпадение со всеми 2500 значениями? Последний раз редактировалось xrob; 11.05.2013 в 03:46. |
11.05.2013, 09:11 | #2 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
Вообще-то WHERE C1 IN ('v1',...), но не для такого кол-ва условий - будет очень тормозно, если вообще MySQL его съест. Делать временную таблицу, загонять туда эти значения и в запросе работать с таблицей. В том числе и для НЕсовпадения
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
11.05.2013, 09:18 | #3 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
В этом случае явно на лицо неверная тактика работы с БД.
Откуда у тебя значения v2500 и типа того? Почему они обязательно стоковые?
I'm learning to live...
|
11.05.2013, 18:15 | #4 |
Форумчанин
Регистрация: 18.10.2010
Сообщений: 419
|
У меня есть много записей и в базе есть много записей.
И я хочу получить из базы все записи, которых нет у меня. Кстати, не знаю что значит "стоковые" =) дилетант, да... или может вы "строковые" имели ввиду? в php вроде кроме строковых других типов и не существует... дададада, я знаю, знаю, напридумывано много всяких типов, но представлены то они все-равно строчками.. v* - это id записей (1, 2, 5, 658, 8451645 и т.д.) И да, пересмотрел алгоритм... Теперь прога получает все id в базе, и сама определяет, какие еще ей нужны, а потом запрашиваются из базы конкретные id Аватар, временная это heap? |
11.05.2013, 18:45 | #5 | |||
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Цитата:
Цитата:
Что они означают? Короче, чтоб без флуда: Есть справочник обозначений: Цитата:
Код буквы Значение для суффикса. В результате Код:
Идея ясна?
I'm learning to live...
|
|||
11.05.2013, 20:05 | #6 | ||
Форумчанин
Регистрация: 18.10.2010
Сообщений: 419
|
Цитата:
пытаюсь наладить совместную работу сайта с php и MySQL и проги на Delphi... Stilet, вы слишком буквально меня поняли, буковка v не имеет значения, это просто сокращенно value, а С1 соответственно Col1 (столбец 1). это я просто для примера написал, чтобы показать что необходимо строгое сравнение значений, чтобы не писали про < > Цитата:
И, к сожалению, полет вашей мысли оценить не смог, ибо не владею ни php, ни sql на достаточном уровне... Но за внимание спасибо! |
||
11.05.2013, 20:26 | #7 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Цитата:
Код:
I'm learning to live...
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Программирование условий в С++ | Sid_P | Помощь студентам | 4 | 14.10.2012 17:54 |
Вложенные функции или слишком много условий | OgE®_M@G | Microsoft Office Excel | 4 | 03.11.2011 07:35 |
Проверка условий | advanced | PHP | 3 | 23.01.2011 12:10 |
Вопрос на тему условий | Richmond_87 | Паскаль, Turbo Pascal, PascalABC.NET | 1 | 08.01.2009 16:35 |