Я создал два запроса, которые возвращают результаты, которые я хочу получить по отдельности, но мне нужен единственный набор результатов из одного запроса, и я не могу понять, как объединить эти два. Я планирую использовать вывод запроса в качестве входных данных для инструкции insert для создания новой записи в другой таблице.SQL SUM и Count в одном запросе
Независимо от того, что я пробовал, это приводит к умножению TotalExpense на количество лотов.
Я использую SQL Server 2008 R2.
Любые предложения/решения, которые получили высокую оценку.
SELECT
sPortfolioName
,Count(lot.lLotID) as TotalLots
FROM [Owners]
inner join Portfolio on Portfolio.lUserID = Owners.lUserID
inner Join tblExpense on tblExpense.lOwnersID = Owners.lOwnersID
inner Join Lot on Lot.lOwnersID = Owners.lOwnersID
where bManaged = 'Y'
AND tblExpense.lExpenseCodeID = '5'
Group By sPortfolioName
Order By sPortfolioName
SELECT
Portfolio.sPortfolioName
,sum (tblExpense.mRate) as TotalExpense
FROM [Owners]
inner join Portfolio on Portfolio.lUserID = Owners.lUserID
inner Join tblExpense on tblExpense.lOwnersID = Owners.lOwnersID
where bManaged = 'Y'
AND tblExpense.lExpenseCodeID = '5'
Group By sPortfolioName
Текущие результаты
sPortfolioName TotalLots
Black 836
Blue 1107
Brown 22
sPortfolioName TotalExpense
Black 393.90
Blue 17.83
Brown 511.00
Желаемая Result
sPortfolioName TotalLots TotalExpense
Black 836 393.90
Blue 1107 17.83
Brown 22 511.00
Это не помогло, умножив TotalExpense на количество лотов. У каждого владельца есть один расход и много лотов. Мне нужен промежуточный итог для каждого портфолио. –
check edit section ответ выше, я использовал соединение между двумя подзапросами, каждый подзапрос возвращает результат и объединяется, используя соединение, основанное на столбце общего столбца 'sPortfolioName' –
Это взломало его :) Я никогда не думаю для присоединения к select. Спасибо кучи, которые вы спасли мне, чтобы придумать какую-то хромую вставку, а затем обновить заявление. –