У меня есть общее число, которое нужно получить из таблиц SQL-сервера, которые связаны с подсчетами подсети, и у меня возникли проблемы с выяснением того, как выполнить вложение, какая-либо помощь будет назначена.Вложенная сумма SQL-запрос
Таблицы (Примечание: обрезается до полезных данных)
PrintJob - ID, DEPT, CopyCount имеет много данные Фирменные реквизиты (отметьте его другой счетчик копий) Выходные данные - ID, JobId, CopyCount имеет много pageDatas PageData - ImprintID, индекс, ImpressionCount
Теперь для каждого DEPT мне нужно получить суммы (PrintJob.CopyCount * сумма его (imprint.CopyCount * сумма PageData.ImpressionCount его (IMPRINT в)))
Итак, для каждого отпечатка необходимо, чтобы все показатели Impression страницы были суммированы, а затем умножены на CopyCount отпечатка.
Эта сумма за каждый отпечаток затем может быть суммирована с каждым PrintJob, чтобы указать количество копий отпечатка на Printjob, чтобы их можно было умножить на PrintJob.CopyCount, чтобы дать общее количество отпечатков на каждое задание.
Это можно затем суммировать как каждое задание на печать для каждого отдела, чтобы дать итоговую таблицу результатов, но как я могу получить это эффективно в одном запросе?
SAMPLE DATA
CREATE TABLE PrintJob
(
ID varchar(10),
DEPT varchar(10),
CopyCount int
);
CREATE TABLE Imprint
(
ID varchar(10),
JobId varchar(10),
CopyCount int
);
CREATE TABLE PageData
(
ImprintID varchar(10),
[Index] int,
ImpressionCount int
);
INSERT INTO PrintJob (ID, DEPT, CopyCount)
Values
('J1','D1',2),
('J2','D1',1),
('J3','D2',5),
('J4','D2',4)
;
INSERT INTO Imprint (ID, JobId, CopyCount)
Values
('I1','J1',1),
('I2','J1',2),
('I3','J2',1),
('I4','J3',2),
('I5','J4',2),
('I6','J4',2)
;
INSERT INTO PageData (ImprintID, [Index], ImpressionCount)
Values
('I1',1,1),
('I1',2,3),
('I1',3,1),
('I2',1,1),
('I3',1,1),
('I3',2,2),
('I4',1,1),
('I4',2,1),
('I5',1,1),
('I6',1,5)
;
WITE выборки данных ... –
Пожалуйста, измените вопрос, чтобы включить соответствующие таблицы DDL, некоторые примеры данных (предпочтительно в качестве операторов DML) и желаемого вывода. –