Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > SQL, базы данных
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 12.11.2018, 13:05   #1
TekashiUKR
 
Регистрация: 12.11.2018
Сообщений: 9
Восклицание Создание представлений

Здравствуйте, помогите разобраться с созданием представления:
"Создать представление, отражающее сотрудников, всегда выполняли только
заказы с однотипными компонентами(означает отбор сотрудников, у которых подсчет количества заказов различных типов более одного)"
Как я понял подсчет разнотипного количества можно выполнить с помощью с помощью exists (), но синтаксис не понятен

Последний раз редактировалось TekashiUKR; 12.11.2018 в 13:42.
TekashiUKR вне форума Ответить с цитированием
Старый 12.11.2018, 13:34   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

Правила форума

Цитата:
2. Языки общения на форуме - только русский и английский;
Serge_Bliznykov вне форума Ответить с цитированием
Старый 12.11.2018, 13:41   #3
TekashiUKR
 
Регистрация: 12.11.2018
Сообщений: 9
По умолчанию

Ой, простите не знал, написал на Русском
TekashiUKR вне форума Ответить с цитированием
Старый 12.11.2018, 13:47   #4
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

без конкретики трудно подсказать - где и как хранятся компоненты заказа, но, в общем случае, нужно в подзапросе сгруппировать и ID сотрудника и ID заказа и выбрать те записи, где having count(*)>1
ну и выбрать тех сотрудников, для которых есть заказы и которых нет в подзапросе.

примерно так.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 12.11.2018, 14:02   #5
TekashiUKR
 
Регистрация: 12.11.2018
Сообщений: 9
По умолчанию

Можете написать кодом как сгруппировать?
Прикрепил скрины таблиц Сотрудника/Заказов
Изображения
Тип файла: png Снимок.PNG (10.0 Кб, 118 просмотров)
Тип файла: png Снимок.PNG1.PNG (20.3 Кб, 118 просмотров)

Последний раз редактировалось TekashiUKR; 12.11.2018 в 14:08.
TekashiUKR вне форума Ответить с цитированием
Старый 12.11.2018, 14:05   #6
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

Цитата:
Сообщение от TekashiUKR Посмотреть сообщение
Можете написать кодом как сгруппировать?
напишите свою структуру таблиц (и как они связаны).
Serge_Bliznykov вне форума Ответить с цитированием
Старый 12.11.2018, 14:09   #7
TekashiUKR
 
Регистрация: 12.11.2018
Сообщений: 9
По умолчанию

Диаграмма базы
Изображения
Тип файла: png ыва.PNG (32.2 Кб, 103 просмотров)
TekashiUKR вне форума Ответить с цитированием
Старый 12.11.2018, 16:40   #8
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

Цитата:
Сообщение от TekashiUKR Посмотреть сообщение
Можете написать кодом как сгруппировать?
попробуйте для начала такой код:

Код:
SELECT * FROM `Сотрудник` s 
where EXISTS (select * from `Заказ` z 
              where z.`Код_сотрудника` = s.`Код_сотрудника`) 
and NOT EXISTS ( SELECT z2.* FROM `Заказ` z2 
      inner join `Содержимое_заказа` sz on sz.`Номер_заказа`=z2.`Номер_заказа` 
      where z2.`Код_сотрудника` = s.`Код_сотрудника` 
      group by z2.`Номер_заказа` 
      having count(*)>1 )
Serge_Bliznykov вне форума Ответить с цитированием
Старый 16.11.2018, 11:34   #9
TekashiUKR
 
Регистрация: 12.11.2018
Сообщений: 9
По умолчанию

Странно, но ругается:
Не удалось привязать составной идентификатор "s.Код_сотрудника".
Изображения
Тип файла: png Не удалось.PNG (20.9 Кб, 143 просмотров)
TekashiUKR вне форума Ответить с цитированием
Старый 16.11.2018, 11:37   #10
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 19,042
По умолчанию

Ни чего странного. Потерял псевдоним s
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сообщение 4512 Индексированных представлений xxbesoxx SQL, базы данных 1 20.04.2014 16:48
символы в типизиртванном файле найти методом индуктивной функции среднее значение символьных представлений натур чисел начиная с 9 calimdor Помощь студентам 0 15.02.2012 15:49
Создание внутреннего и внешнего серверов. Создание серверов автоматизации. Ann_Sh Помощь студентам 3 09.10.2011 15:53
Создание представлений в приложении Абдуллаев Рустам БД в Delphi 5 10.05.2009 01:01