Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/29.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 从2 datatable填充网格或在运行时添加列_C#_Asp.net_Sql_Oracle - Fatal编程技术网

C# 从2 datatable填充网格或在运行时添加列

C# 从2 datatable填充网格或在运行时添加列,c#,asp.net,sql,oracle,C#,Asp.net,Sql,Oracle,我有三张桌子 查询详情 教师 和FeeDetail 我必须出示带课程费、剩余费用和押金的学生信息 我正在使用查询 select Name,MobileNo,CourseName,CourseFees from [AsahEnquiry].[dbo].EnquiryDetail e,[AsahEnquiry].[dbo].CourseMast c where e.CourseId=c.CourseId AND Admitted='Yes' 这就产生了结果 Name MobileNo

我有三张桌子 查询详情 教师 和FeeDetail

我必须出示带课程费、剩余费用和押金的学生信息

我正在使用查询

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
FeeDeposite FeeRemaining
16000            14000
20000            10000
我还有一个问题

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
这就产生了结果

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
FeeDeposite FeeRemaining
16000            14000
20000            10000
我想在一个网格中显示它。。 有人能给我一个简单的问题吗。。。
或者我可以在运行时添加其他查询结果吗?

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

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

p、 我认为CourseID是连接这两个视图的关键,因此请确保聚合视图(第二个查询)的SELECT中有此字段。同时使用左连接,否则可能会丢失记录

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


你想实现什么?

我已经添加了查询选择名称,MobileNo,CourseName,CourseFees,sum(FeeDeposite)作为FeeDeposite,(CourseFees sum(FeeDeposite))作为FeeRemainding from[AsahEnquiry].[dbo]。FeedTail f join[AsahEnquiry].[dbo]。InquiryDetail e on f.inquiryId=e.inquiryId join[AsahEnquiry].[dbo].CourseMast c on e.Courseid=c.Courseid组由f.InquiryId、c.CourseFees、e.Name、e.MobileNo、c.CourseName创建,但它没有提供不提交任何费用的学生信息