Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

помогите,пожалуйста , с sql запросом

64K
01 февраля 2011 года
imdoctor89
8 / / 01.02.2011
Есть несколько таблиц . (на форум.jpg). Рисунки таблиц в файлике.
Вот мое задание:

1)Вывести список студентов обучающихся на математическом факультете на 5-ом курсе в виде:
Фамилия;
Имя;
Отчество;
Специальность;
Специализация;
Форма обучения;

2)Если дата поступления ранее чем 01.08.2005 год, то необходимо список дополнить датой поступления.

Результаты запроса должны быть представлены одной таблицей. Используй команду UNION


я сделал так:
SELECT Студенты.Фамилия, Студенты.Имя, Студенты.Отчество, Студенты.Курс, Специальности.Специальность, ФормыОбучения.ФормаОбучения,
Специализации.Специализация
FROM Студенты INNER JOIN
Специальности ON Студенты.КодСпециальности = 26 AND Специальности.КодСпециальности = 26 AND Студенты.Курс = 5 AND
Студенты.Отчислен = 0 INNER JOIN
ФормыОбучения ON Студенты.КодФормыОбучения = ФормыОбучения.КодФормыОбучения INNER JOIN
Специализации ON Студенты.КодСпециализации = Специализации.id

но не знаю как дополнить список датой поступления, если дата поступления ранее чем 01.08.2005. И как в этом задании этот UNION использовать нужно?
33K
01 февраля 2011 года
hivewarrior
205 / / 16.11.2010
Очевидно, что UNION используется вместо JOIN, а значит то, что ты написал ранее не очень то сильно отражает твое задание.

Список дополняется с помощью транзакта WHERE, который выбирет только то, что попадает под условие после него.

Union и Where
64K
01 февраля 2011 года
imdoctor89
8 / / 01.02.2011
Цитата: hivewarrior
Очевидно, что UNION используется вместо JOIN, а значит то, что ты написал ранее не очень то сильно отражает твое задание.

Список дополняется с помощью транзакта WHERE, который выбирет только то, что попадает под условие после него.

Union и Where



да про where я знаю. я просто не пойму каким образом тут использовать UNION если тут разные таблицы с разными данными. UNION же объединяет результаты двух запросов в одну таблицу, если количество и названия выходных столбцов идентичны.

33K
01 февраля 2011 года
hivewarrior
205 / / 16.11.2010
Если про where знаешь, то вопросов "но не знаю как дополнить список датой поступления, если дата поступления ранее чем 01.08.2005" возникать не может.

В union не названия одинаковые, а типы выходных столбцов и их последовательность.
Пожалуй, да, заменить JOIN на UNION не удасться. Как сюда присобачить UNION надо плотно подумать.
64K
01 февраля 2011 года
imdoctor89
8 / / 01.02.2011
Цитата: hivewarrior
Если про where знаешь, то вопросов "но не знаю как дополнить список датой поступления, если дата поступления ранее чем 01.08.2005" возникать не может.

В union не названия одинаковые, а типы выходных столбцов и их последовательность.
Пожалуй, да, заменить JOIN на UNION не удасться. Как сюда присобачить UNION надо плотно подумать.



Спасиибо, конечно, за помощь. В задании написано - если дата поступления раньше такого то числа - то дополнить список датой поступления. А если нет , я так понял, то ничего не добавлять. как это условие в запросе реализовать?

8
01 февраля 2011 года
mfender
3.5K / / 15.06.2005
Столбец с датой выбирай то же, а во втором запросе уточни, что выбрать только тех, для кого этот критерий. Бессмыслица полная, но по моему именно это требуется.
64K
01 февраля 2011 года
imdoctor89
8 / / 01.02.2011
блин. я, наверное, вообще идиот, но у меня ничего не получается.
может кто нибудь набросает скелет запроса?
буду очень признателен.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог