Обсуждение:SQL-запросы к экзамену по СПАСОИ (10 семестр): различия между версиями
Перейти к навигации
Перейти к поиску
ILobster (обсуждение | вклад) |
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) | ||
:: А, я понял, вы написали свои версии запросов и пишете о них? Смотрите, запрос для билета №1 вы не дописали - имя поставщика брать неоткуда. А запрос №30 у вас возвращает вот что: | |||
nomer_postavshika | |||
------------------- | |||
S5 | |||
S17 | |||
S8 | |||
S1 | |||
S9 | |||
S13 | |||
S3 | |||
S11 | |||
S7 | |||
S18 | |||
S12 | |||
S6 | |||
S4 | |||
S14 | |||
S15 | |||
S10 | |||
(16 rows) | |||
:: Я убрал оба варианта в комментарии. [[Участник:ILobster|iLobster]] ([[Обсуждение участника:ILobster|обсуждение]]) 23:36, 20 июня 2013 (MSK) |
Версия от 22:36, 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)
- А, я понял, вы написали свои версии запросов и пишете о них? Смотрите, запрос для билета №1 вы не дописали - имя поставщика брать неоткуда. А запрос №30 у вас возвращает вот что:
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)