loading..
Русский    English
09:03
листать

Упражнение 128

Определить лидера по сумме выплат в соревновании между каждой парой пунктов с одинаковыми номерами из двух разных таблиц - outcome и outcome_o - на каждый день, когда осуществлялся прием вторсырья хотя бы на одном из них. Вывод: Номер пункта, дата, текст:- "once a day", если сумма выплат больше у фирмы с отчетностью один раз в день;- "more than once a day", если - у фирмы с отчетностью несколько раз в день;- "both", если сумма выплат одинакова.

Основная сложность в понимании условия этой задачи заключается в том, как выполнять сравнение, если в некий день в одной таблице есть строка ( строки), а в другой - нет.

Как написано в описании предметной области, таблицы с суффиксом "_o" и без него - это разные схемы. Т.е. мы можем считать, что они описывают деятельность разных фирм.

Поскольку сравниваются пункты с одинаковыми номерами, то из результата следует исключить вариант, когда в одной таблице есть пункт с номером, совсем отсутствующим в другой таблице. Поскольку пункта с таким номером на одной из фирм не существует, то мы не можем сравнивать что-то с тем, чего нет. Например, если в забеге выступал один спортсмен, нельзя утверждать, что он был лучше второго.

Совершенно другую ситуацию мы имеем, когда в определенный день в одной из таблиц строка для некоторого пункта отсутствует, но сам пункт существует (т.е. имеются соответствующие ему записи за другие дни). Такую ситуацию мы можем трактовать так, что пункт просто не работал или работал вхолостую. В этом случае победа аналогичному пункту другой фирмы присуждается закономерно. Возвращаясь к примеру о бегунах, мы можем утверждать, что спортсмен, пришедший к финишу первым был лучше того, который сошёл с дистанции.

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

Решить задачу на SQL-EX.RU

Bookmark and Share
Тэги:
ALL AND AUTO_INCREMENT AVG battles CASE CAST CHAR CHARINDEX CHECK classes COALESCE CONSTRAINT Convert COUNT CROSS APPLY CTE DATEADD DATEDIFF DATENAME DATEPART DATETIME DDL DEFAULT DELETE DISTINCT DML EXCEPT EXISTS EXTRACT FOREIGN KEY FROM FULL JOIN GROUP BY Guadalcanal HAVING IDENTITY IN INNER JOIN insert INTERSECT IS NOT NULL IS NULL ISNULL laptop LEFT LEFT OUTER JOIN LEN maker MAX Больше тэгов
Учебник обновлялся
вчера
©SQL-EX,2008 [Развитие] [Связь] [О проекте] [Ссылки] [Team]
Перепечатка материалов сайта возможна только с разрешения автора.
Rambler's Top100