Как слить несколько запросов на выбор в одном запросе

У меня есть эти 4 Запроса, которые я хочу выбрать из таблицы.

--------------------------------------------------------------- Month Total Fee Fee Deposit Fee Due Fine --------------------------------------------------------------- October 200,000 100,000 100,000 5,00 

Мои запросы:
1

 SELECT Sum(Fee)AS'TotalFee', DueDate AS'Date' FROM VoucherTB GROUP BY DueDate 

2

 SELECT Sum(VoucherTB.Fee)AS'FeeDeposit', DueDate AS'Date' FROM VoucherTB WHERE FeeSubmission='Paid' GROUP BY VoucherTB.DueDate 

3

 SELECT Sum(Fee)AS'FeeDue', DueDate AS'Date' FROM VoucherTB WHERE FeeSubmission='UnPaid' GROUP BY DueDate 

4

 SELECT Sum(RevenueTB.Fine)AS'Fine', VoucherTB.DueDate AS'Date' FROM RevenueTB INNER JOIN VoucherTB ON venueTB.VoucherNo=VoucherTB.VoucherNo GROUP BY VoucherTB.DueDate 

Вы можете сделать это:

 SELECT v.DueDate AS'Date', Sum(CASE WHEN v.FeeSubmission = 'Paid' THEN v.Fee ELSE 0 END) AS 'FeeDeposit', Sum(CASE WHEN v.FeeSubmission = 'UnPaid' THEN v.Fee ELSE 0 END) AS 'FeeDue', Sum(r.Fine)AS'Fine', Sum(r.Fee) AS 'TotalFee' FROM RevenueTB AS r INNER JOIN VoucherTB AS v ON v.VoucherNo = r.VoucherNo GROUP BY v.DueDate 
 Select * from ( SELECT Sum(Fee)AS'TotalFee', DueDate AS'Date' FROM VoucherTB GROUP BY DueDate ) A left join ( SELECT Sum(VoucherTB.Fee)AS'FeeDeposit', DueDate AS'Date' FROM VoucherTB WHERE FeeSubmission='Paid' GROUP BY VoucherTB.DueDate )B on B.Date = A.Date left join ( SELECT Sum(Fee)AS'FeeDue', DueDate AS'Date' FROM VoucherTB WHERE FeeSubmission='UnPaid' GROUP BY DueDate ) C on C.Date = A.Date left join ( SELECT Sum(RevenueTB.Fine)AS'Fine', VoucherTB.DueDate AS'Date' FROM RevenueTB INNER JOIN VoucherTB ON venueTB.VoucherNo=VoucherTB.VoucherNo GROUP BY VoucherTB.DueDate ) D on D.Date = A.Date 
Interesting Posts

Поиск данных на определенную дату

Устройство чтения данных, возвращаемое поставщиком данных хранилища, не имеет достаточного количества столбцов для запрошенного запроса

SUM () все строки после текущей строки

Случайно показывайте три разных вопроса на загрузку страницы

Как увеличить время ожидания команд в OrmLite ServiceStack?

Delphi: как эффективно читать большой двоичный файл, преобразовывая его в шестнадцатеричный для передачи его в качестве параметра varbinary (max)?

Использование цикла с UNION t-sql

Изменение свойств связанного сервера в SQL Server

Коллизионный конфликт

Предложение ORDER BY недопустимо в представлениях, встроенных функциях, производных таблицах, подзапросах

Msg 8152, String или двоичные данные будут усечены

Как обрабатывать повторные события и задачи календаря (таблицы SQL Server и C #)

Интерфейс Entity Framework Сериализуемый транзакционный тупик

Преобразование из nvarchar в формат времени не работает?

Счет хранимой процедуры

Давайте будем гением компьютера.