Обсуждение:SQL-запросы к экзамену по СПАСОИ (10 семестр): различия между версиями
Перейти к навигации
Перейти к поиску
ILobster (обсуждение | вклад) м (→Билеты №№ 1 и 30: и подпись) |
ILobster (обсуждение | вклад) м (→Билеты №№ 1 и 30: всё огонь) |
||
Строка 28: | Строка 28: | ||
:# в 1 запросе по заданию нужны ''номера'' поставщиков, они и выдаются. В 30 запросе по заданию нужны ''имена'' поставщиков, они и выдаются. | :# в 1 запросе по заданию нужны ''номера'' поставщиков, они и выдаются. В 30 запросе по заданию нужны ''имена'' поставщиков, они и выдаются. | ||
:Или что вы имели в виду? [[Участник:ILobster|iLobster]] ([[Обсуждение участника:ILobster|обсуждение]]) 23:27, 20 июня 2013 (MSK) | :Или что вы имели в виду? [[Участник:ILobster|iLobster]] ([[Обсуждение участника:ILobster|обсуждение]]) 23:27, 20 июня 2013 (MSK) | ||
: А, я понял, вы написали свои версии запросов и пишете о них? Смотрите, запрос для билета №30 вы не дописали - имя поставщика брать неоткуда. А запрос №1 у вас возвращает вот что: | : А, я понял, вы написали свои версии запросов и пишете о них? Смотрите, запрос для билета №30 вы не дописали - имя поставщика брать неоткуда. А запрос №1 у вас возвращает вот что: | ||
nomer_postavshika | nomer_postavshika | ||
Строка 48: | Строка 49: | ||
S10 | S10 | ||
(16 rows) | (16 rows) | ||
: Я убрал оба варианта в комментарии. [[Участник:ILobster|iLobster]] ([[Обсуждение участника:ILobster|обсуждение]]) 23:36, 20 июня 2013 (MSK) | |||
: А, я ещё раз понял. Этот поставщик уже есть в задании и потому его не надо выводить, вы имеете в виду? Григорьев на лекциях в похожих примерах выводил и его, это и логично. Так что всё огонь [[Участник:ILobster|iLobster]] ([[Обсуждение участника:ILobster|обсуждение]]) 23:42, 20 июня 2013 (MSK) |
Версия от 22:42, 20 июня 2013
Билет №11
Сначала был такой запрос:
SELECT gorod, sost
FROM (
SELECT gorod, SUM(sostoyanie) AS sost, SUM(SPJ.kolichestvo)
FROM spasoi_ekz.spj, spasoi_ekz.s
WHERE S.nomer_postavshika = SPJ.nomer_postavshika
GROUP BY S.gorod HAVING SUM(SPJ.kolichestvo) > 1000
) A;
Но он выполняется не совсем по заданию - там требуется искать тех поставщиков, у которых среди всех их поставок минимальное значение любой из них больше 1000, а тут считается сумма всех поставок поставщика и только потом сравнивается с 1000.
Я убрал его в комментарии и написал новый.
Хипстерство в программировании
Поясните за "хипстерство в программировании": каким образом JOIN ... ON
под него попал? iLobster (обсуждение) 22:26, 20 июня 2013 (MSK)
Билеты №№ 1 и 30
Мне кажется, код будет выдавать номер (и имя) поставщика S2. Не уверен, что это не нужно, но, по-моему, это довольно бесполезно.
- не могу сказать, что всё понял из сказанного, но:
- что будет выдавать код - приведено для каждого запроса в блоке Результат. Все запросы проверялись на реальной БД;
- в 1 запросе по заданию нужны номера поставщиков, они и выдаются. В 30 запросе по заданию нужны имена поставщиков, они и выдаются.
- Или что вы имели в виду? iLobster (обсуждение) 23:27, 20 июня 2013 (MSK)
- А, я понял, вы написали свои версии запросов и пишете о них? Смотрите, запрос для билета №30 вы не дописали - имя поставщика брать неоткуда. А запрос №1 у вас возвращает вот что:
nomer_postavshika ------------------- S5 S17 S8 S1 S9 S13 S3 S11 S7 S18 S12 S6 S4 S14 S15 S10 (16 rows)
- Я убрал оба варианта в комментарии. iLobster (обсуждение) 23:36, 20 июня 2013 (MSK)
- А, я ещё раз понял. Этот поставщик уже есть в задании и потому его не надо выводить, вы имеете в виду? Григорьев на лекциях в похожих примерах выводил и его, это и логично. Так что всё огонь iLobster (обсуждение) 23:42, 20 июня 2013 (MSK)