SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 15.11.2017 17:39:47

webgrig
Участник
Зарегистрирован: 15.11.2017
Сообщений: 2

Как грамотно составить запрос к MySQL?

Есть запрос на выборку из БД компаний с определенными параметрами.
Например вот такой:


SELECT * FROM `companyes`
WHERE (`status`=1)
AND (`companyes`.`published_at` < 1510754973)
AND ((`min_summ` <= '1500'))
AND ((`max_summ` >= '1500'))
AND ((`min_time` <= '65'))
AND ((`max_time` >= '65'))
AND ((`age_min` <= '25'))
AND ((`age_max` >= '25'))
 


Как составить запрос на выборку всех остальных компаний, которые не попали в предыдущую выборку?

Отредактированно webgrig (15.11.2017 17:44:50)

Неактивен

 

#2 15.11.2017 18:41:32

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5842

Re: Как грамотно составить запрос к MySQL?

SELECT * FROM `companyes` where `id компании` not in (
SELECT `id компании` FROM `companyes`
WHERE (`status`=1)
AND (`companyes`.`published_at` < 1510754973)
AND ((`min_summ` <= '1500'))
AND ((`max_summ` >= '1500'))
AND ((`min_time` <= '65'))
AND ((`max_time` >= '65'))
AND ((`age_min` <= '25'))
AND ((`age_max` >= '25'))
);

Неактивен

 

#3 15.11.2017 19:48:36

webgrig
Участник
Зарегистрирован: 15.11.2017
Сообщений: 2

Re: Как грамотно составить запрос к MySQL?

vasya написал:

SELECT * FROM `companyes` where `id компании` not in (
SELECT `id компании` FROM `companyes`
WHERE (`status`=1)
AND (`companyes`.`published_at` < 1510754973)
AND ((`min_summ` <= '1500'))
AND ((`max_summ` >= '1500'))
AND ((`min_time` <= '65'))
AND ((`max_time` >= '65'))
AND ((`age_min` <= '25'))
AND ((`age_max` >= '25'))
);

Спасибо!

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson