Гость
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Двойной SELECT, операция minus. / 14 сообщений из 14, страница 1 из 1
31.05.2013, 17:19
    #38281845
M.Cooper
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Двойной SELECT, операция minus.
Дорогие форумчане,
Пишу Вам, дабы больше не к кому обратиться ...

У меня следующая проблема, есть запрос, который звучит следующим образом: "Получить список актеров, которые подходят на роль по заданному критерию и при этом актер не должен находиться на гастролях ."

У меня получия код, но без функции minus, поэтому он не работает должным образом:
Код: sql
1.
2.
3.
4.
5.
SELECT  Сотрудник.Фио
FROM (SELECT  Сотрудник.ФИО FROM Сотрудник INNER JOIN Гастроли ON Сотрудник.ID_Сотрудника=Гастроли.ID_Сотрудника
WHERE (Гастроли.Дата_Поездки_Актера + Гастроли.Продолжительность) < DATE() GROUP BY Сотрудник.Фио)
WHERE (Актер.Размер="S")
GROUP BY Сотрудник.Фио;



Необходимо использовать 2 SELECTA: SELECT Размер MINUS SELECT Гастроли.

Помогите, пожалуйста, разобраться!
...
Рейтинг: 0 / 0
31.05.2013, 17:21
    #38281849
Сергей Викт.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Двойной SELECT, операция minus.
M.CooperДорогие форумчане,
Пишу Вам, дабы больше не к кому обратиться ...

У меня следующая проблема, есть запрос, который звучит следующим образом: "Получить список актеров, которые подходят на роль по заданному критерию и при этом актер не должен находиться на гастролях ."

У меня получия код, но без функции minus, поэтому он не работает должным образом:
Код: sql
1.
2.
3.
4.
5.
SELECT  Сотрудник.Фио
FROM (SELECT  Сотрудник.ФИО FROM Сотрудник INNER JOIN Гастроли ON Сотрудник.ID_Сотрудника=Гастроли.ID_Сотрудника
WHERE (Гастроли.Дата_Поездки_Актера + Гастроли.Продолжительность) < DATE() GROUP BY Сотрудник.Фио)
WHERE (Актер.Размер="S")
GROUP BY Сотрудник.Фио;



Необходимо использовать 2 SELECTA: SELECT Размер MINUS SELECT Гастроли.

Помогите, пожалуйста, разобраться!

А что за функция minus?
...
Рейтинг: 0 / 0
31.05.2013, 17:24
    #38281855
Shakill
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Двойной SELECT, операция minus.
M.Cooper, если у вас MS SQL, то вам поможет EXCEPT
...
Рейтинг: 0 / 0
31.05.2013, 17:26
    #38281859
Glory
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Двойной SELECT, операция minus.
M.CooperНеобходимо использовать 2 SELECTA:
Это обязательное условие задачи что ли ?
...
Рейтинг: 0 / 0
31.05.2013, 17:28
    #38281864
Гость333
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Двойной SELECT, операция minus.
M.Cooper
Код: sql
1.
2.
DATE()
Размер="S"



Ваш запрос выполняется без ошибок? Если да, то какая у вас СУБД?
...
Рейтинг: 0 / 0
31.05.2013, 17:34
    #38281873
M.Cooper
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Двойной SELECT, операция minus.
Сергей Викт., Shakill, Операция MINUS применяется в Oracle, эквивалентная операция - EXCEPT, Вы правы, да, спасибо!)
НО, как мне использовать операцию EXCEPT в моем конкретном случае?
Гость333, у меня СУБД MS Access PC. Запрос с ошибками (
Glory, да, обязательно.
...
Рейтинг: 0 / 0
31.05.2013, 17:41
    #38281883
M.Cooper
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Двойной SELECT, операция minus.
На всякий случай, кидаю свою схему данных:
...
Рейтинг: 0 / 0
31.05.2013, 17:43
    #38281888
not Access
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Двойной SELECT, операция minus.
так это раздел форума по SQL Server, а не по Access
...
Рейтинг: 0 / 0
31.05.2013, 20:46
    #38282072
Glory
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Двойной SELECT, операция minus.
M.CooperНО, как мне использовать операцию EXCEPT в моем конкретном случае?
Никак. Потому что она не нужна

SELECT *
FROM Актер
WHERE (Актер.Размер="S")
and not exists(<запрос который проверяет, что актер не должен находиться на гастролях>);
...
Рейтинг: 0 / 0
31.05.2013, 21:08
    #38282085
Dianka815
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Двойной SELECT, операция minus.
Glory(<запрос который проверяет, что актер не должен находиться на гастролях>);
А как этот проверочный запрос-то сформулировать? )
...
Рейтинг: 0 / 0
31.05.2013, 21:23
    #38282090
Glory
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Двойной SELECT, операция minus.
Dianka815А как этот проверочный запрос-то сформулировать? )
руками
...
Рейтинг: 0 / 0
31.05.2013, 21:30
    #38282094
M.Cooper
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Двойной SELECT, операция minus.
Glory, всем спасибо за проявленный интерес к моей теме. Буду пробовать.
...
Рейтинг: 0 / 0
31.05.2013, 23:29
    #38282140
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Двойной SELECT, операция minus.
Glory,

За not exists — ты мой кумир!
Я тоже не люблю всяческие ненужные проприетарные расширения...
...
Рейтинг: 0 / 0
01.06.2013, 06:49
    #38282215
aleks2
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Двойной SELECT, операция minus.
GloryM.CooperНО, как мне использовать операцию EXCEPT в моем конкретном случае?
Никак. Потому что она не нужна

SELECT *
FROM Актер
WHERE (Актер.Размер="S")
and not exists(<запрос который проверяет, что актер не должен находиться на гастролях>);

Ну, ежели человеку хоцца?

Код: sql
1.
2.
3.
SELECT ID_Сотрудника FROM Актер WHERE (Актер.Размер="S")
except
SELECT ID_Сотрудника FROM Гастроли WHERE (на гастролях)
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Двойной SELECT, операция minus. / 14 сообщений из 14, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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