powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Определить множества в базе
10 сообщений из 10, страница 1 из 1
Определить множества в базе
    #39966883
Kukuh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В таблице Worker указаны айди людей, отделения, должности и main_work(1 - основная робота, 0 - по совместительству).
И вот у меня задание: для работников без высшего образования, которые не работают по совместительству (то есть main_work = 1)
(не входят в множество работников по совместительству) выбрать ***. Окей, здесь я написал условие
Код: sql
1.
WHERE main_work != 0 AND Education != 'вища'


Вроде бы ясно и просто, но дальше сложнее.
Задача: для работников, которые работают на основной работе и по совместительству(входят в множество работников по совместительству)(это все имеется ввиду в рамках одного предприятия, но на разных должностях) выбрать***
Я думал, что здесь тоже не сложно и написал
Код: sql
1.
WHERE main_work = 1 AND main_work = 0


Но не сработало, вернуло пустую таблицу.
Если я правильно понял, то нужно как-то определить эти множества. Подскажите, пожалуйста, каким образом?
Ибо мне еще нужно определить должности, на которых нету работников по совместительству и т.д.
...
Рейтинг: 0 / 0
Определить множества в базе
    #39966884
Владислав Колосов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kukuh,

Как Вы представляете, что значение равно 0 и оно же равно 1? Зачем писать условие, есть все значения допустимы?
...
Рейтинг: 0 / 0
Определить множества в базе
    #39966885
Владислав Колосов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kukuh,

выбрать те, которые входят: Exists (), которые не входят : Not Exists().
...
Рейтинг: 0 / 0
Определить множества в базе
    #39966886
Kukuh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Владимир Колосов,

В таблице Worker один id может быть и main_work 1, и main_work 0, но в разных рядах. Исходя из этого я решил так написать.
...
Рейтинг: 0 / 0
Определить множества в базе
    #39966888
Фотография court
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kukuh
Код: sql
1.
WHERE main_work = 1 AND main_work = 0


...
Рейтинг: 0 / 0
Определить множества в базе
    #39966890
Kukuh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вы предлагаете сделать мне вложеный запрос? Другим путем никак нельзя? Вложеные запросы у меня будут дальше по ходу лабораторной работы.
...
Рейтинг: 0 / 0
Определить множества в базе
    #39966892
Фотография court
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kukuh
Вы предлагаете сделать мне вложеный запрос? Другим путем никак нельзя? Вложеные запросы у меня будут дальше по ходу лабораторной работы.
exists - нормальное решение
Но можно и left join на множество работающих по совмещению сделать
...
Рейтинг: 0 / 0
Определить множества в базе
    #39966897
Kukuh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Exists, left join. Сколько нового нужно изучить... Эх.
...
Рейтинг: 0 / 0
Определить множества в базе
    #39966907
godsql
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
вообще-то, вам намекнули, что
Код: sql
1.
WHERE main_work = 1 AND main_work = 0


следует переписать как
Код: sql
1.
WHERE main_work = 1 OR main_work = 0


:)
Хотя, я не совсем понимаю, зачем вообще данное условие, если имеющиеся в таблице люди обязательно или работают полный день или по совместительству
т.е. достаточно было сделать
Код: sql
1.
select * from  Worker 


:)
...
Рейтинг: 0 / 0
Определить множества в базе
    #39967069
stdvb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Если нужен максимально простой запрос, то так:
которые работают на основной работе и по совместительству
Код: sql
1.
2.
3.
select distinct w1.*
from worker w1 join worker w2 on w1.id_man = w2.id_man
WHERE w1.main_work = 1 AND w2.main_work = 0



Но не уверен, что это то, чего хочет ваш преподаватель.
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Определить множества в базе
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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