Последние записи
- TChromium (CEF3), сохранение изображений
- Как в Delphi XE обнулить таймер?
- Изменить цвет шрифта TextBox на форме
- Ресайз PNG без потери прозрачности
- Вывод на печать графического файла
- Взаимодействие через командную строку
- Перенести программу из Delphi в Lazarus
- Определить текущую ОС
- Автоматическая смена языка (раскладки клавиатуры)
- Сравнение языков на массивах. Часть 2
Интенсив по Python: Работа с API и фреймворками 24-26 ИЮНЯ 2022. Знаете Python, но хотите расширить свои навыки?
Slurm подготовили для вас особенный продукт! Оставить заявку по ссылке - https://slurm.club/3MeqNEk
Online-курс Java с оплатой после трудоустройства. Каждый выпускник получает предложение о работе
И зарплату на 30% выше ожидаемой, подробнее на сайте академии, ссылка - ttps://clck.ru/fCrQw
30th
Мар
Задача определения среднего количества краски на квадрате (SQL)
Posted by obzor under sql
Схема базы данных состоит из трех отношений:
utQ (Q_ID int, Q_NAME varchar(35)); utV (V_ID int, V_NAME varchar(35), V_COLOR char(1)); utB (B_Q_ID int, B_V_ID int, B_VOL tinyint, B_DATETIME datetime).
Таблица utQ содержит идентификатор и название квадрата, цвет которого первоначально черный.
Таблица utV содержит идентификатор, название и цвет баллончика с краской.
Таблица utB содержит информацию об окраске квадрата баллончиком: идентификатор квадрата, идентификатор баллончика, количество краски и время окраски.
При этом следует иметь в виду, что:
— баллончики с краской могут быть трех цветов — красный V_COLOR=’R’, зеленый V_COLOR=’G’, голубой V_COLOR=’B’ (латинские буквы).
— объем баллончика равен 255 и первоначально он полный;
— цвет квадрата определяется по правилу RGB, т.е. R=0,G=0,B=0 — черный, R=255, G=255, B=255 — белый;
— запись в таблице закрасок utB уменьшает количество краски в баллончике на величину B_VOL и соответственно увеличивает количество краски в квадрате на эту же величину;
— значение 0 < B_VOL <= 255;
— количество краски одного цвета в квадрате не превышает 255, а количество краски в баллончике не может быть меньше нуля;
— время окраски B_DATETIME дано с точностью до секунды, т.е. не содержит миллисекунд.
Найти: с точностью до двух десятичных знаков определить среднее количество краски на квадрате.
SELECT AVG(tabel.VOL)
FROM (
SELECT ISNULL(SUM(utB.B_VOL),0) AS VOL
FROM utQ
LEFT JOIN utB ON utB.B_Q_ID=utQ.Q_ID
GROUP BY utQ.Q_ID) AS tabel
Если inner join, то вообще не крашенные квадраты выпадут, а они тоже влияют на среднее
group by utQ.Q_NAME не корректно, ни где не сказано, что название у разных квадратов разное.
Случайные статьи
Купить рекламу на сайте за 1000 руб
пишите сюда - alarforum@yandex.ru
Да и по любым другим вопросам пишите на почту
пеллетные котлы
Пеллетный котел Emtas
Наши форумы по программированию:
- Форум Web программирование (веб)
- Delphi форумы
- Форумы C (Си)
- Форум .NET Frameworks (точка нет фреймворки)
- Форум Java (джава)
- Форум низкоуровневое программирование
- Форум VBA (вба)
- Форум OpenGL
- Форум DirectX
- Форум CAD проектирование
- Форум по операционным системам
- Форум Software (Софт)
- Форум Hardware (Компьютерное железо)