簡體   English   中英

從2個數據表填充網格或在運行時添加列

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM