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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 17.05.2011, 17:32   #1
Frosts
Пользователь
 
Регистрация: 15.03.2011
Сообщений: 12
По умолчанию SQL запрос

Запросы для создания таблиц я составила(надеюсь правильно), но никак не получается сделать два запроса, помогите пожалуйста

Сущности: Отдел (Otdel), Должность (Post), Сотрудник (worker), Кадровые перемещения (кто, на какой должности, даты приема и увольнения).

Создание нормализованной БД:

Otdel (id_O, название)
Post (id_P, название, id_O)
worker (id_W, фамилия, имя, отчество, дата приема, дата увольнения, id_P)
Код:
create table Otdel(
id_O  int unsigned not null auto_increment key,
название char(6));

create table Post (
id_P int unsigned not null auto_increment key,
название char(30),
id_O integer);

create table worker (
id_W int unsigned not null auto_increment key,
фамилия char(30),
имя char(20),
отчество char(30),
дата_П  DATE,
дата_У DATE,
id_D integer);
1 запрос
Найти всех сотрудников, уволенных из отдела маркетинга в марте 2010 г.

2 запрос
Вывести список отделов, в которых у начальника ровно два заместителя.

Последний раз редактировалось Stilet; 17.05.2011 в 17:56.
Frosts вне форума Ответить с цитированием
Старый 17.05.2011, 18:00   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
айти всех сотрудников, уволенных из отдела маркетинга в марте 2010 г.
Код:
Select w.фамилия 
from post p
join Otdel o on (o.название='маркет' and o.id_O=p.id_O)
join worker w on (p.id_w=w.id_w and year(w.дата_У)=2010)
Если не ошибаюсь.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 17.05.2011, 22:34   #3
Frosts
Пользователь
 
Регистрация: 15.03.2011
Сообщений: 12
По умолчанию

Спасибо, большое, а во втором запросе необходимо создавать еще одну таблицу для замов?
Frosts вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Запрос с CASE переделать в запрос с PIVOT (MS SQL Server 2005) Машуля SQL, базы данных 4 06.05.2010 21:09
Создание новых таблиц в MS SQL SERVERE через SQL запрос в Delphi S_Yevgeniy Помощь студентам 1 27.10.2009 06:26
SQL запрос Dux БД в Delphi 5 27.08.2008 13:36
SQL-запрос student_63 БД в Delphi 0 04.06.2008 21:13
SQL запрос на основе другого SQL запрса... Timoxa БД в Delphi 1 07.01.2007 18:15