Форум программистов, компьютерный форум, киберфорум
Microsoft Access
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.54/13: Рейтинг темы: голосов - 13, средняя оценка - 4.54
1 / 1 / 0
Регистрация: 21.10.2019
Сообщений: 4

Построение отчета с круговой диаграммой в БД без нормализации

22.10.2019, 10:10. Показов 2696. Ответов 8

Студворк — интернет-сервис помощи студентам
Всем добрый день!
Столкнулась с проблемой, по форуму подобной проблемы не нашла. Есть БД. Схема:

(Нормализация? Не, не слышали!)
Нужно составить отчет (с круговой диаграммой), который будет отражать суммарное количество по каждому товару (по всем продажам) + на диаграмме % соотношение проданных товаров.
Вид:
Товар 1 Товар 2 Товар 3 Товар 4
1000 200 700 150

Круговая диаграмма

Если бы использовалась нормализация таблиц, то тут без проблем бы было. Но как быть в этом случае? Менять структуру БД нельзя.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
22.10.2019, 10:10
Ответы с готовыми решениями:

Какая разница между диаграммой классов и Entity Relationship диаграммой?
Какая разница между диаграммой классов и диаграммой сущность-связь?

Построение круговой диаграммы и гистограммы
Помогите пожалуйста в следующем

Построение вторичной круговой диаграммы с условиями
Добрый день! Столкнулся со следующей проблемой. Есть таблица в который имеются следующие ряды: Товар Доля в портфеле ...

8
Эксперт MS Access
 Аватар для ltv_1953
17536 / 7288 / 1663
Регистрация: 21.06.2012
Сообщений: 13,957
22.10.2019, 10:26
Лучший ответ Сообщение было отмечено ratkina как решение

Решение

Цитата Сообщение от ratkina Посмотреть сообщение
Если бы использовалась нормализация таблиц, то тут без проблем бы было. Но как быть в этом случае?
Сделайте "псевдонормализацию" - запрос
SQL
1
2
3
4
5
6
7
8
9
10
11
SELECT [Код посещения], [Код клиента], [Товар 1] AS Товар
FROM Покупки
UNION ALL
SELECT [Код посещения], [Код клиента], [Товар 2] AS Товар
FROM Покупки
UNION ALL
SELECT [Код посещения], [Код клиента], [Товар 3] AS Товар
FROM Покупки
UNION ALL
SELECT [Код посещения], [Код клиента], [Товар 4] AS Товар
FROM Покупки
и работайте с ним.
1
Эксперт MS Access
 Аватар для alvk
7459 / 4592 / 302
Регистрация: 12.08.2011
Сообщений: 14,380
22.10.2019, 10:27
Цитата Сообщение от ratkina Посмотреть сообщение
Менять структуру БД нельзя.
Менять структуру БД необходимо! Не повторяйте такое больше никогда и нигде.
1
1 / 1 / 0
Регистрация: 21.10.2019
Сообщений: 4
22.10.2019, 11:00  [ТС]
Я-то это знаю. И изначально бы сделала соответствующую структуру. Но задание есть задание

Добавлено через 14 минут
Цитата Сообщение от ltv_1953 Посмотреть сообщение
Сделайте "псевдонормализацию" - запрос
SQL
1
2
3
4
5
6
7
8
9
10
11
SELECT [Код посещения], [Код клиента], [Товар 1] AS Товар
FROM Покупки
UNION ALL
SELECT [Код посещения], [Код клиента], [Товар 2] AS Товар
FROM Покупки
UNION ALL
SELECT [Код посещения], [Код клиента], [Товар 3] AS Товар
FROM Покупки
UNION ALL
SELECT [Код посещения], [Код клиента], [Товар 4] AS Товар
FROM Покупки
и работайте с ним.
А возможно ли через "псевдонормализацию" результат представить в следующем виде:
Наименование товара | Количество
Товар 1 | 1000
Товар 2 | 200
Товар 3 | 700
Товар 4 | 150
?
Как вывести суммарное количество, я поняла. А вот как добавить Наименование товара?
0
Эксперт MS Access
 Аватар для ltv_1953
17536 / 7288 / 1663
Регистрация: 21.06.2012
Сообщений: 13,957
22.10.2019, 11:08
Цитата Сообщение от ratkina Посмотреть сообщение
А возможно ли через "псевдонормализацию" результат представить в следующем виде:
Наименование товара | Количество
Количества у Вас в таблице не было, а "AS Товар" в запросе замените везде на "AS [Наименование товара]". И на будущее: имена с пробелами в собственно Аксе разрешены, но в SQL придется заключать их в [], а уж какие проблемы в VBA будут ... .
0
1 / 1 / 0
Регистрация: 21.10.2019
Сообщений: 4
22.10.2019, 11:29  [ТС]
Цитата Сообщение от ltv_1953 Посмотреть сообщение
Количества у Вас в таблице не было, а "AS Товар" в запросе замените везде на "AS [Наименование товара]". И на будущее: имена с пробелами в собственно Аксе разрешены, но в SQL придется заключать их в [], а уж какие проблемы в VBA будут ... .
Не получается. Поля Товар 1,2,3,4 - числовые (обозначают количество приобретенного товара, т.е. предполагается, что фирма продает только 4 товара). Запрос выводит только суммарное количество - одно поле. Я из исходного убрала поля Код посещения, Код клиента, теперь надо добавить, какая сумма к какому товару относится.
По поводу имен тоже в курсе, но по заданию нужно именно так. И само задание не на столько "углубляется".

Спасибо за помощь!
0
Эксперт MS Access
 Аватар для alvk
7459 / 4592 / 302
Регистрация: 12.08.2011
Сообщений: 14,380
22.10.2019, 11:56
А покажите нам задание ваше.
0
212 / 16 / 10
Регистрация: 14.05.2015
Сообщений: 32
22.10.2019, 11:59
Лучший ответ Сообщение было отмечено ratkina как решение

Решение

Попробуйте
SQL
1
2
3
4
5
6
7
8
9
10
11
 SELECT "Товар 1" AS [Наименование товара], SUM([Товар 1]) AS Количество
FROM Покупки
UNION ALL
SELECT "Товар 2" AS [Наименование товара], SUM([Товар 2]) AS Количество
FROM Покупки
UNION ALL
SELECT "Товар 3" AS [Наименование товара], SUM([Товар 3]) AS Количество
FROM Покупки
UNION ALL
SELECT "Товар 4" AS [Наименование товара], SUM([Товар 4]) AS Количество
FROM Покупки
0
1 / 1 / 0
Регистрация: 21.10.2019
Сообщений: 4
22.10.2019, 12:09  [ТС]
Цитата Сообщение от Leo_pard Посмотреть сообщение
Попробуйте
SQL
1
2
3
4
5
6
7
8
9
10
11
 SELECT "Товар 1" AS [Наименование товара], SUM([Товар 1]) AS Количество
FROM Покупки
UNION ALL
SELECT "Товар 2" AS [Наименование товара], SUM([Товар 2]) AS Количество
FROM Покупки
UNION ALL
SELECT "Товар 3" AS [Наименование товара], SUM([Товар 3]) AS Количество
FROM Покупки
UNION ALL
SELECT "Товар 4" AS [Наименование товара], SUM([Товар 4]) AS Количество
FROM Покупки
О Боже! Проблема решена!

Добавлено через 1 минуту
Спасибо большое всем за помощь!!!!
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
22.10.2019, 12:09
Помогаю со студенческими работами здесь

Построение круговой диаграммы успеваемости студентов
Задача звучит так: Создайте программу которая вычерчивала бы круговую диаграмму успеваемости студентов. Известно общее количество...

Построение круговой диаграммы для нескольких диапазонов
Помогите пожалуйста с кодом для построения круговой диаграммы. Если диапазон непрерывный, например, Range("C13:D13") то...

Список десятичных чисел - построение круговой диаграммы
Тут вроде все расписано, но ничего не понятно. Помогите кто может:) Задание 1. Создать проект приложения с окном списка, в котором...

Построение круговой диаграммы на основе данных из таблицы БД MySQL
Здравствуйте, у меня такая проблема, я начинающий в PHP. Перед мной стоит задача написания кода для создания круговой диаграммы которая...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2). Унарный минус обозначается как ! */ #include <iostream> #include <stack> #include <cctype>. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru