C# 如何在一个查询中合并多个Select查询
我有这4个查询,我想从如下表中选择数据C# 如何在一个查询中合并多个Select查询,c#,sql-server,sql-server-2008,C#,Sql Server,Sql Server 2008,我有这4个查询,我想从如下表中选择数据 --------------------------------------------------------------- Month Total Fee Fee Deposit Fee Due Fine --------------------------------------------------------------- October 200,000 100,000
---------------------------------------------------------------
Month Total Fee Fee Deposit Fee Due Fine
---------------------------------------------------------------
October 200,000 100,000 100,000 5,00
我的问题是:一, 二, 三, 四, 您可以这样做:
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
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 Sum(Fee)AS'FeeDue', DueDate AS'Date'
FROM VoucherTB
WHERE FeeSubmission='UnPaid'
GROUP BY DueDate
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