WHERE z.Блюдо=s.Блюдо and s.Продукт=n.Продукт
GROUP BY z.Дата;
| Результат
| |
| Дата
| Выручка
|
| 2011-01-02
| 556,6954
|
| 2011-01-03
| 203,155
|
Соединение таблицы со своей копией.
В ряде приложений возникает необходимость одновременной обработки данных какой-либо таблицы и одной или нескольких ее копий, создаваемых на время выполнения запроса.
Например, при формировании Блюд (таблица БЛЮДА) возможен повторный ввод данных о каком-либо блюде с присвоением ему второго идентификатора. Для выявления таких ошибок, можно соединить таблицу Блюда с ее временной копией, установив в WHERE условие на равенство значений всех одноименных столбцов этих таблиц кроме столбцов с ID_Блюда (для последних надо установить условие неравенства значений).
Временную копию таблицы можно сформировать, указав имя псевдонима за именем таблицы во фразе FROM.
Пример 19.
Найти ошибки при формировании таблицы Блюда (повтор блюд)
SELECT К1.Блюдо,
К1.Основа, К1.ID_Блюда as ID , К2.ID_Блюда as Дубликат
FROM Блюда К1, Блюда К2
WHERE К1.Блюдо = К2.Блюдо AND К1.Основа = К2. Основа
AND К1.ID_Блюда<> К2.ID_Блюда;
Пример 20.
Нарастающий итог количества заказанных порций для блюда с номером 15
SELECT z1.Дата , z1.Блюдо, SUM(z.Количество_порций) as Итог
FROM Заказ z, Заказ z1
WHERE z.Блюдо=z1.Блюдо and z.Дата<=z1.Дата and z1.Блюдо=15