Not in sql
Автор Зияудин Абукаров задал вопрос в разделе Другие языки и технологии
SQL запрос, not in() и получил лучший ответ
Ответ от Михаил Губарев[гуру]
$result = array_diff ($friends[0], $friends[12]);
....where id in (".implode(',', $result ).")...
андестенд?
Ответ от Александр Свиридов[гуру]
$friends[0] и $friends[12] - откуда у вас эти массивы?
Дело в том что все данные по определению должны храниться в базе данных. Это лишает вас проблемы выбора алгоритма. Скажем, найти клиентов из города Москва но только таких у которых более 2-х заказов за месяц. Вы ищете тех у которых 3 и более заказов, потом делаете
select * from Customer where ID in (1,2,45,342,32,43,24,234,3)
и на этом "in" система бесится.
Сервер ждёт что вы отфильтруете более эффективным способом и не будете ему передавать целый массив значений для сравнений.
$friends[0] и $friends[12] - откуда у вас эти массивы?
Дело в том что все данные по определению должны храниться в базе данных. Это лишает вас проблемы выбора алгоритма. Скажем, найти клиентов из города Москва но только таких у которых более 2-х заказов за месяц. Вы ищете тех у которых 3 и более заказов, потом делаете
select * from Customer where ID in (1,2,45,342,32,43,24,234,3)
и на этом "in" система бесится.
Сервер ждёт что вы отфильтруете более эффективным способом и не будете ему передавать целый массив значений для сравнений.
Ответ от CanMan[гуру]
Сервер может только беситься, но правильные запросы он выполнять обязан. У меня нет под рукой сервера mySQL, чтобы прогнать Ваш запрос и указать на ошибку, если она имеет место быть. Почему бы Вам не запустить его самому и не сообщить нам поточнее, на что именно жалуетесь: на медленность или на незапускаемость?
Можно, конечно, попытаться "мысленно" прокомпилировать Ваш запрос, но, боюсь, mySQL все равно сделает это и быстрее, и лучше.
Сервер может только беситься, но правильные запросы он выполнять обязан. У меня нет под рукой сервера mySQL, чтобы прогнать Ваш запрос и указать на ошибку, если она имеет место быть. Почему бы Вам не запустить его самому и не сообщить нам поточнее, на что именно жалуетесь: на медленность или на незапускаемость?
Можно, конечно, попытаться "мысленно" прокомпилировать Ваш запрос, но, боюсь, mySQL все равно сделает это и быстрее, и лучше.
Ответ от 3 ответа[гуру]
Привет! Вот подборка тем с ответами на Ваш вопрос: SQL запрос, not in()
спросили в Удаление
SQL запрос для удаления записей на основе двух таблиц
так
DELETE FROM A WHERE id NOT IN (SELECT id FROM B)
Александр
подробнее...
SQL запрос для удаления записей на основе двух таблиц
так
DELETE FROM A WHERE id NOT IN (SELECT id FROM B)
Александр
подробнее...
SQL запрос - Удалить дубликаты строк из таблицы (firebird)
например так
delete from ДИСК where КОД not in (
select min(КОД) from ДИСК group by
подробнее...
Можно ли в SQL сделать выборку не конкретных полей а типа "все кроме такого то"?
Если только прописать процедуру которая будет обрабатывать такой запрос а потом только вставлять в
подробнее...
Вопрос по Access 2007, как создать запрос значения из таблицы №2, которого не существует в таблице 1
не имеет значения 2007 аксес или 2.0
это всё sql
насчет exists не могу сказать ничего так
подробнее...
Ответ от 3 ответа[гуру]
Привет! Вот еще темы с похожими вопросами:
спросили в Sql User all 0
SQL-инъекция
а ты входные параметры фильтруешь?
на всякий:
function sqlcheck($var)
{
подробнее...
SQL-инъекция
а ты входные параметры фильтруешь?
на всякий:
function sqlcheck($var)
{
подробнее...
Помогите PHP СРОЧНО Fatal error: Class 'MYSQL' not found in Что делаешь?
Вообще-то в PHP класса MYSQL не существует. Есть классы mysqli и PDO. И есть устаревшая много лет
подробнее...
спросили в Интернет VPN
Чем прокси сервер отличается от VPN?Что безопаснее (надежнее анонимизирует)?
Технология Proxy обеспечивает соединение на так называемом «прикладном уровне» (или «уровне
подробнее...
Чем прокси сервер отличается от VPN?Что безопаснее (надежнее анонимизирует)?
Технология Proxy обеспечивает соединение на так называемом «прикладном уровне» (или «уровне
подробнее...
спросили в Delphi Textron
Существуют ли в Delphi стандартные хэш-функции? Например, как MD5 в PHP.
Вот модуль, вычисляющий MD5 в Delphi. Полностью могу прислать по почте. Если надо - пиши ( :-))))
подробнее...
Существуют ли в Delphi стандартные хэш-функции? Например, как MD5 в PHP.
Вот модуль, вычисляющий MD5 в Delphi. Полностью могу прислать по почте. Если надо - пиши ( :-))))
подробнее...
спросили в Интернет Jabber
Что такое джаббер-сервер?
Джаббер (англ. Jabber – болтовня, тарабарщина) .
1. Базовое определение.
Джаббер –
подробнее...
Что такое джаббер-сервер?
Джаббер (англ. Jabber – болтовня, тарабарщина) .
1. Базовое определение.
Джаббер –
подробнее...
спросили в IRC клиенты IRC сервисы
Расскажите пожалуйста о программе Miranda?
Интернет мессенджер, аналог аськи
скачать можно 1505
подробнее...
Расскажите пожалуйста о программе Miranda?
Интернет мессенджер, аналог аськи
скачать можно 1505
подробнее...
спросили в Fix price Air Canada
Что значит system error code:126
What Causes Error 126?
Error 126 is usually displayed at run time when some of the DLLs on
подробнее...
Что значит system error code:126
What Causes Error 126?
Error 126 is usually displayed at run time when some of the DLLs on
подробнее...