Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Запрос exist / 4 сообщений из 4, страница 1 из 1
27.08.2015, 13:55:03
    #39037488
manking
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос exist
Есть такие таблицы:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
create table компания 
(
   ид                   integer                        null
);

create table магазин 
(
   ид                   integer                        null,
   ид_компании          integer                        null,
   email                long varchar                   null
);




У компании может быть несколько магазинов.
Нужно вывести компании, у которых не заполнены магазины либо email в таблице магазин.



Этот код выводит компании у которых есть магазин и email там не заполнен.
А как проверять, что записи в таблице 'магазин' с конкретным 'ид_компании' нет и затем еще что email пустой?


Код: sql
1.
2.
SELECT `компания`.*  FROM `компания` 
WHERE  `компания`.`ид` IN (SELECT `ид` FROM `магазин` WHERE `email` IS NULL OR `email` = '' ) 
...
Рейтинг: 0 / 0
27.08.2015, 14:03:25
    #39037498
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос exist
Добавить ещё одно условие в подзапрос. И тоже через OR.
...
Рейтинг: 0 / 0
27.08.2015, 14:47:28
    #39037550
manking
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос exist
Akina,

А как это сделать то?
Там нужно из таблицы 'компания' передавать ид в магазины как то?
...
Рейтинг: 0 / 0
27.08.2015, 14:59:25
    #39037564
manking
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос exist
Разобрался. Нужно проверять из родительского select.

Код: sql
1.
2.
SELECT `компания`.*  FROM `компания` 
WHERE NOT  EXISTS  (SELECT * FROM `магазин` WHERE `магазин`.`ид_компании` = `компания`.`ид` ) OR `компания`.`ид` IN (SELECT `ид` FROM `магазин` WHERE `email` IS NULL OR `email` = '' ) 
...
Рейтинг: 0 / 0
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Запрос exist / 4 сообщений из 4, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]