[英]Fill Grid from 2 datatable or adding column on runtime
我有3個表格查詢詳細信息課程桅桿和費用詳細信息
我必須用學費和剩余的押金顯示學生的信息
我正在使用查詢
select Name,MobileNo,CourseName,CourseFees
from [AsahEnquiry].[dbo].EnquiryDetail e,[AsahEnquiry].[dbo].CourseMast c
where e.CourseId=c.CourseId AND Admitted='Yes'
得到結果
Name MobileNo CourseName CourseFees
a 2222222222 Sinor Programer 30000
as 3333333555 Junier Programer 15000
as 8888888888 Junier Programer 15000
a 1221111111 Junier Programer 15000
i 4444444444 Junier Programer 15000
ku 8888777777 Sinor Programer 30000
er 6667777777 Sinor Programer 30000
a 5555555555 Junier Programer 15000
yuy 7888888888 Junier Programer 15000
我還有另一個查詢
select sum(FeeDeposite) as FeeDeposite,
(CourseFees-sum(FeeDeposite)) as FeeRemaining
from [AsahEnquiry].[dbo].Feedetail f
join [AsahEnquiry].[dbo].EnquiryDetail e on f.EnquiryID=e.EnquiryID
join [AsahEnquiry].[dbo].CourseMast c on e.Courseid=c.CourseID
group by f.EnquiryId,c.CourseFees,e.Name
得到結果
FeeDeposite FeeRemaining
16000 14000
20000 10000
我想在一個網格中顯示它。.有人可以建議我對其進行單個查詢嗎?還是可以在運行時添加其他查詢結果?
創建兩個視圖,而不是嘗試將它們變成單個查詢(由於第二個查詢中的聚合而無法執行)。 然后,您可以創建第三個視圖以將兩個視圖結合在一起。 簡化查詢,而不是嘗試創建一個將來很難維護的大型查詢。
在頁面渲染期間合並數據也是一個壞主意,請讓SQL Server為您完成工作。
ps我認為CourseID是連接兩個視圖的關鍵,因此請確保您的聚合視圖(第二個查詢)在SELECT中具有此字段。 還請使用LEFT JOIN,否則您可能會丟失記錄。
編輯:感謝您格式化數據,現在變得更加有意義。 這是兩個應分開保存的不同查詢。 第一個查詢向您顯示已注冊課程的人及其支付的費用。 第二個查詢顯示您從每個課程獲得的預期金額利潤以及剩余的金額。
您想達到什么目的?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.