Главная Случайная страница


Полезное:

Как сделать разговор полезным и приятным Как сделать объемную звезду своими руками Как сделать то, что делать не хочется? Как сделать погремушку Как сделать так чтобы женщины сами знакомились с вами Как сделать идею коммерческой Как сделать хорошую растяжку ног? Как сделать наш разум здоровым? Как сделать, чтобы люди обманывали меньше Вопрос 4. Как сделать так, чтобы вас уважали и ценили? Как сделать лучше себе и другим людям Как сделать свидание интересным?


Категории:

АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника






GROUP BY b. Блюдо





HAVING SUM(z.Количество_порций) = (SELECT MAX (кол)

FROM (SELECT SUM(Количество_порций) as кол

FROM Заказы

GROUP BY Блюдо) m)

UNION ALL

SELECT 'Наименее популярное блюдо', b.Блюдо, SUM(z.Количество_порций)

FROM Блюда b JOIN Заказы z ON b.ID_ Блюдо = z. Блюдо

GROUP BY b. Блюдо

HAVING SUM(z.Количество_порций) = (SELECT MIN (кол)

FROM (SELECT SUM(Количество_порций) as кол

FROM Заказы

GROUP BY Блюдо) m)

ORDER BY b.Блюдо;

Реализация внешнего полного соединения через запросы с UNION.

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

Схема такого запроса имеет вид:

SELECT <поля для вывода>

FROM таблица_А LEFT OUTER JOIN таблица_В ON <условие связи>

UNION

SELECT <поля для вывода>

FROM таблица_А RIGHT OUTER JOIN таблица_В ON <условие связи>;

Как вы можете видеть, левое и правое внешние соединения, просто объединяются друг с другом с помощью оператора UNION.

Следует отметить, что предложение GROUP BY с оператором GROUPING SETS может дать такой же результирующий набор, как и несколько простых предложений GROUP BY, объединенных с помощью UNION ALL.

Синтаксис:

GROUP BY GROUPING SETS (<набор группирования> [,... n ])

Следующие инструкции эквивалентны.

SELECT Блюдо, ID_Заказ, SUM(Количество_порций)

FROM Заказы

GROUP BY GROUPING SETS (Блюдо,ID_Заказ);

SELECT Блюдо, NULL as ID_Заказ, SUM(Количество_порций)

FROM Заказы

GROUP BY Блюдо

UNION ALL

SELECT NULL as Блюдо, ID_Заказ, SUM(Количество_порций)

FROM Заказы

GROUP BY ID_Заказ;

И дают одинаковый результат:

Результат  
Блюдо ID_Заказа  
  NULL  
  NULL  
  NULL  
  NULL  
  NULL  
  NULL  
  NULL  
  NULL  
  NULL  
NULL    
NULL    
NULL    
NULL    
NULL    

 

 







Date: 2015-09-18; view: 348; Нарушение авторских прав



mydocx.ru - 2015-2024 year. (0.005 sec.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав - Пожаловаться на публикацию