Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Помогите, если сможете) Необходимо реализовать запрос в sql  [new]
YanaVepr
Member

Откуда:
Сообщений: 11
Запрос:
Кто из преподавателей каждой из кафедр имеет минимальную учебную нагрузку среди других преподавателей его кафедры?

пробовала сделать и через функцию MIN и GROUP BY, не получается

в выводе запроса надо вывести ФИО преп-ля, его кафедру и нагрузку

К сообщению приложен файл. Размер - 10Kb
12 апр 13, 17:43    [14174581]     Ответить | Цитировать Сообщить модератору
 Re: Помогите, если сможете) Необходимо реализовать запрос в sql  [new]
YanaVepr
Member

Откуда:
Сообщений: 11


К сообщению приложен файл. Размер - 12Kb
12 апр 13, 17:43    [14174584]     Ответить | Цитировать Сообщить модератору
 Re: Помогите, если сможете) Необходимо реализовать запрос в sql  [new]
YanaVepr
Member

Откуда:
Сообщений: 11


К сообщению приложен файл. Размер - 9Kb
12 апр 13, 17:44    [14174586]     Ответить | Цитировать Сообщить модератору
 Re: Помогите, если сможете) Необходимо реализовать запрос в sql  [new]
YanaVepr
Member

Откуда:
Сообщений: 11


К сообщению приложен файл. Размер - 16Kb
12 апр 13, 17:44    [14174588]     Ответить | Цитировать Сообщить модератору
 Re: Помогите, если сможете) Необходимо реализовать запрос в sql  [new]
YanaVepr
Member

Откуда:
Сообщений: 11
вот все таблицы

прилагаю еще текст, когда создавала таблицы


CREATE TABLE Prepodavateli
(snum integer NOT NULL PRIMARY KEY,
fio CHAR(60) ,
odate date,
knum integer,
tnum integer,
FOREIGN KEY (knum) REFERENCES Kafedra(knum),
FOREIGN KEY (tnum) REFERENCES Tarif(tnum));

CREATE TABLE Prepodavanie
(cnum integer NOT NULL PRIMARY KEY,
KolChas integer NOT NULL,
God integer NOT NULL,
snum integer,
dnum integer,
FOREIGN KEY (snum) REFERENCES Prepodavateli(snum),
FOREIGN KEY (dnum) REFERENCES Distsiplina(dnum));

CREATE TABLE Distsiplina
(dnum integer NOT NULL PRIMARY KEY,
dname char(20),
OKolChas integer);

CREATE TABLE Kafedra
(knum integer NOT NULL PRIMARY KEY,
kname char(20),
tel integer);

CREATE TABLE Tarif
(tnum integer NOT NULL PRIMARY KEY,
dolzhn char(15),
Stoim decimal(18,2));
12 апр 13, 17:45    [14174594]     Ответить | Цитировать Сообщить модератору
 Re: Помогите, если сможете) Необходимо реализовать запрос в sql  [new]
Прогер_самоучка
Member

Откуда:
Сообщений: 69032
YanaVepr
вот все таблицы
прилагаю еще текст, когда создавала таблицы

Зачем прилагаете текст создания таблиц, если вам нужен запрос?
По-моему, нужно было выкладывать как раз таки именно его(запрос). Тем более вы его делали. Тогда вам, возможно, быстрее подскажут, где ошибка и что переделать.
12 апр 13, 17:58    [14174653]     Ответить | Цитировать Сообщить модератору
 Re: Помогите, если сможете) Необходимо реализовать запрос в sql  [new]
YanaVepr
Member

Откуда:
Сообщений: 11
хорошо, учту)
12 апр 13, 17:59    [14174660]     Ответить | Цитировать Сообщить модератору
 Re: Помогите, если сможете) Необходимо реализовать запрос в sql  [new]
YanaVepr
Member

Откуда:
Сообщений: 11
вот мой запрос
но он выводит только минимальное значение и не учитывает другие кафедры((

К сообщению приложен файл. Размер - 9Kb
12 апр 13, 18:01    [14174669]     Ответить | Цитировать Сообщить модератору
 Re: Помогите, если сможете) Необходимо реализовать запрос в sql  [new]
Glory
Member

Откуда:
Сообщений: 104751
YanaVepr
вот мой запрос

Что за мания постить скриншоты ?
Вы считаете, что запрос или данные с ваших картинок очень удобно скопировать ?
12 апр 13, 18:07    [14174704]     Ответить | Цитировать Сообщить модератору
 Re: Помогите, если сможете) Необходимо реализовать запрос в sql  [new]
qwerty112
Guest
YanaVepr
Запрос:
Кто из преподавателей каждой из кафедр имеет минимальную учебную нагрузку среди других преподавателей его кафедры?

объеденяете все таблицы в запросе, так что бы в нём были все параметры, которые нужны для вывода,
и потом в запросе добавите такое
select top 1 with ties ....
from ....
order by row_number() over(partition by кафедра order by нагрузка)


а тут - https://www.sql.ru/forum/actualthread.aspx?tid=767360&pg=1&mid=8947782#8947782
ещё несколько вариантов решения
12 апр 13, 18:07    [14174709]     Ответить | Цитировать Сообщить модератору
 Re: Помогите, если сможете) Необходимо реализовать запрос в sql  [new]
YanaVepr
Member

Откуда:
Сообщений: 11
select fio,kname,KolChas as MinUchNagr
from Prepodavateli p, Kafedra k, Prepodavanie pr
where p.knum=k.knum and p.snum=pr.snum
EXCEPT
select fio,kname,KolChas as MinUchNagr
from Prepodavateli p, Kafedra k, Prepodavanie pr
where KolChas=(select MIN(KolChas)
from Prepodavanie);
12 апр 13, 18:08    [14174711]     Ответить | Цитировать Сообщить модератору
 Re: Помогите, если сможете) Необходимо реализовать запрос в sql  [new]
Glory
Member

Откуда:
Сообщений: 104751
По тексту запроса - у вас в запросе 3 таблицы без указания условий соединения ?
Вы на каком уровне вообще знакомы с SQL ?
12 апр 13, 18:09    [14174716]     Ответить | Цитировать Сообщить модератору
 Re: Помогите, если сможете) Необходимо реализовать запрос в sql  [new]
YanaVepr
Member

Откуда:
Сообщений: 11
а всместо многоточия в первой строке что надо написать?
простите за глупый вопрос
просто я о таком дополнении ничего не слышала
12 апр 13, 18:09    [14174722]     Ответить | Цитировать Сообщить модератору
 Re: Помогите, если сможете) Необходимо реализовать запрос в sql  [new]
YanaVepr
Member

Откуда:
Сообщений: 11
вот where p.knum=k.knum and p.snum=pr.snum
условие соединения таблиц
12 апр 13, 18:10    [14174728]     Ответить | Цитировать Сообщить модератору
 Re: Помогите, если сможете) Необходимо реализовать запрос в sql  [new]
YanaVepr
Member

Откуда:
Сообщений: 11
ПОМОГИТЕ, НУ ХОТЬ КТО-НИБУДЬ....скоро сдавать(((
пожаааааалуууууйстаааа
12 апр 13, 19:14    [14174917]     Ответить | Цитировать Сообщить модератору
 Re: Помогите, если сможете) Необходимо реализовать запрос в sql  [new]
Критик
Member

Откуда: Москва / Калуга
Сообщений: 35384
Блог
в форум "работа", там помогут
13 апр 13, 00:41    [14175720]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить