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

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

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

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

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

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 15.11.2014, 23:11   #1
sery80
Новичок
Джуниор
 
Регистрация: 15.11.2014
Сообщений: 7
По умолчанию помогите с запросом sql

Есть 4 таблицы:

студенты
Код:
create table stud(
id integer not null primary key,
fio varchar2(50) not null unique);
преподаватели
Код:
create table teach(
id integer not null primary key,
fio varchar2(50) not null unique);
лекции
Код:
create table lect(
stud integer not null references stud(id),
teach integer not null references teach(id),
subj varchar2(20) not null, -- изучаемый предмет
lectdate timestamp not null, -- начало лекции
lectdur integer not null, -- длительность лекции в минутах
room varchar2(20) not null); -- аудитория
Если есть запись в этой таблице - значит студент был на лекции. Если хотя бы один студент был на лекции, лекция была. Все студенты из одной группы.


Для продвинутого уровня:
Таблица лабиринт
Код:
create table maze(
room1 varchar2(20) not null,
room2 varchar2(20) not null);
если в таблице есть запись, значит между комнатой1 и комнатой2 есть проход.

1.
Вывести "журнал пропусков". Колонки: имя студента, "математика", "физика", "программирование", "экономика", "всего", "всего за посл. месяц". Строки - количество пропущеных лекций.
2.
Продвинутый уровень. Найти кратчайший путь в лабиринте из комнаты1 в комнату2, которые передаются как параметры запроса. НЕ PL/SQL! Один запрос на SQL.

Последний раз редактировалось Stilet; 16.11.2014 в 09:04.
sery80 вне форума
Старый 16.11.2014, 00:04   #2
Vapaamies
Ваш К. О.
Участник клуба
 
Аватар для Vapaamies
 
Регистрация: 26.12.2012
Сообщений: 1,774
По умолчанию

Цитата:
Сообщение от sery80 Посмотреть сообщение
НЕ PL/SQL! Один запрос на SQL.
Позвонил Тому Кайту. Он спрашивает, что не получается.
Vapaamies вне форума
Старый 16.11.2014, 02:12   #3
xxbesoxx
Участник клуба
 
Регистрация: 10.08.2010
Сообщений: 1,389
По умолчанию

Цитата:
1.
Вывести "журнал пропусков". Колонки: имя студента, "математика", "физика",
Фио студента и предмет находится на разных таблице ! Собрать его через JOIN да , Но, думаю что вначале надо проектировать БД нормально .
1) что сразу заметил не хватает
Код:
ALTER TABLE лекции
  ADD Student_id integer not null;
2)
Код:
ALTER TABLE лекции
ADD CONSTRAINT fk_Имя 
  FOREIGN KEY (Student_id) REFERENCES студенты(id);
Цитата:
2.
Продвинутый уровень. Найти кратчайший путь в лабиринте
Что за лабиринт .... Автор этого задачи мог бы боле подробно написать ?

Последний раз редактировалось xxbesoxx; 16.11.2014 в 02:26.
xxbesoxx вне форума
Старый 16.11.2014, 14:28   #4
sery80
Новичок
Джуниор
 
Регистрация: 15.11.2014
Сообщений: 7
По умолчанию

там же для связи есть stud integer not null references stud(id),
а имя факультета для выполнения заданий вообще не надо
Не мог он подробнее описать лабиринт а что если как нибуть самостоятельно его придумать исходя из этих двух полей
предположим что там заложены растояния до комнаты 1 и до комнаты2
sery80 вне форума
Старый 16.11.2014, 19:41   #5
xxbesoxx
Участник клуба
 
Регистрация: 10.08.2010
Сообщений: 1,389
По умолчанию

1) Посмотрите пожалуйста конструкция JOIN http://dwhlaureate.blogspot.com/2012...in-oracle.html https://docs.oracle.com/cd/B19306_01...queries006.htm
2)
Цитата:
Не мог он подробнее описать лабиринт
Что описать ? Что придумать ? поясните слова " лабиринт " Это преподаватель поставил так криво задача или вы не поняли суд задачи ?
xxbesoxx вне форума
Старый 17.11.2014, 13:37   #6
sery80
Новичок
Джуниор
 
Регистрация: 15.11.2014
Сообщений: 7
По умолчанию

это тестовое задание( сам не знаю что имели ввиду под лабиринтом
как хотьяб первое сделать? второе наверное так start with room1 = :start connect by prior room2 = room1 and room2 <> :finish
sery80 вне форума
Старый 17.11.2014, 20:20   #7
sery80
Новичок
Джуниор
 
Регистрация: 15.11.2014
Сообщений: 7
По умолчанию

это тестовое задание( сам не знаю что имели ввиду под лабиринтом
как хотьяб первое сделать? второе наверное так start with room1 = :start connect by prior room2 = room1 and room2 <> :finish

Последний раз редактировалось sery80; 17.11.2014 в 20:22.
sery80 вне форума
Старый 17.11.2014, 20:22   #8
sery80
Новичок
Джуниор
 
Регистрация: 15.11.2014
Сообщений: 7
По умолчанию

Цитата:
Сообщение от xxbesoxx Посмотреть сообщение
1) Посмотрите пожалуйста конструкция JOIN http://dwhlaureate.blogspot.com/2012...in-oracle.html https://docs.oracle.com/cd/B19306_01...queries006.htm
2)
Что описать ? Что придумать ? поясните слова " лабиринт " Это преподаватель поставил так криво задача или вы не поняли суд задачи ?
это тестовое задание( сам не знаю что имели ввиду под лабиринтом
как хотьяб первое сделать? второе наверное так start with room1 = :start connect by prior room2 = room1 and room2 <> :finish
sery80 вне форума
Старый 18.11.2014, 21:29   #9
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Эту закрываю за кросспост.
I'm learning to live...
Stilet вне форума
Закрытая тема


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите с запросом MS SQL Goldcoding SQL, базы данных 5 04.01.2010 19:39
Помогите с SQL-запросом FleshDro SQL, базы данных 15 28.07.2009 13:32
Помогите с SQL запросом DDmitriy Microsoft Office Access 4 07.05.2009 15:51
SQL. Помогите с запросом. fluxion БД в Delphi 2 27.12.2007 08:01
Помогите с SQL запросом. Monoflextor БД в Delphi 12 29.04.2007 16:53