【问题标题】:Fill Grid from 2 datatable or adding column on runtime从 2 个数据表填充网格或在运行时添加列
【发布时间】:2011-04-24 17:27:37
【问题描述】:

我有 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

我想在一个网格中显示它.. 谁能建议我对它的单个查询... 或者我可以在运行时添加其他查询结果???

【问题讨论】:

    标签: c# asp.net sql oracle


    【解决方案1】:

    与其尝试将它们转换为单个查询(由于第二个查询中的聚合,您将无法这样做),而是创建两个视图。然后您可以创建第三个视图以将两个视图连接在一起。简化查询,而不是尝试创建一个将来难以维护的大型查询。

    在页面呈现期间合并数据也是一个坏主意,让 SQL 服务器为您完成这项工作。

    附言我认为 CourseID 是连接两个视图的关键,因此请确保您的聚合视图(第二个查询)在 SELECT 中有此字段。还要使用 LEFT JOIN 否则您可能会丢失记录。

    编辑:感谢您格式化数据,现在更有意义了。这是两个不同的查询,应该分开。第一个查询向您显示已注册课程的人以及他们支付了多少费用。第二个查询显示您从每门课程中获得的预期利润金额以及剩余金额。

    你想达到什么目的?

    【讨论】:

    • 我添加了查询 select Name,MobileNo,CourseName,CourseFees, 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,e.MobileNo,c.CourseName 但它没有提供不提交任何费用的学生的信息
    猜你喜欢
    • 2021-10-25
    • 1970-01-01
    • 2015-09-11
    • 2021-07-30
    • 2012-09-27
    • 1970-01-01
    • 2020-11-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多