Asp.net sql查询-连接以获得以下结果
我有两个表,从这两个表的结果,我需要得到第三个表,我的第一个表查询结果如下Asp.net sql查询-连接以获得以下结果,asp.net,sql,Asp.net,Sql,我有两个表,从这两个表的结果,我需要得到第三个表,我的第一个表查询结果如下 select categeoryid,EmployeeId,SUM(Amount)as advance from ExpenditureDetails where Expenditurefor='Travel' and EmployeeId='TFIPL201145' group by categeoryid,EmployeeId categeoryid EmployeeId
select categeoryid,EmployeeId,SUM(Amount)as advance
from ExpenditureDetails where Expenditurefor='Travel' and EmployeeId='TFIPL201145'
group by categeoryid,EmployeeId
categeoryid EmployeeId advance
----------------------------------------------------
Local_IPL TFIPL201145 1000
Project_Audio release TFIPL201145 566565
Project_Cricketscore TFIPL201145 441898
Project_mayajal TFIPL201145 1100
Project_Tennis TFIPL201145 8949
第二个表的结果如下
select categeoryid,EmployeeId,SUM(Amount)as submitted_amt
from ExpenditureTravelling where EmployeeId='TFIPL201145'
group by categeoryid,EmployeeId
categeoryid EmployeeId submitted_amt
-------------------------------------------------
Event_Golf TFIPL201145 36456
Events_Hokey TFIPL201145 1303
local TFIPL201145 25000
Local_IPL TFIPL201145 1169488
Project TFIPL201145 16000
Project_Cricketscore TFIPL201145 216661
Project_harris TFIPL201145 53453
Project_mayajal TFIPL201145 1500
Project_Tennis TFIPL201145 8949
我想我的结果表应该是…加入2表
categeoryid EmployeeId advance submitted_amt
----------------------------------------------------------------------
Event_Golf TFIPL201145 0 36456
Events_Hokey TFIPL201145 0 1303
local TFIPL201145 0 25000
Local_IPL TFIPL201145 1000 1169488
Project TFIPL201145 0 16000
Project_Cricketscore TFIPL201145 441898 216661
Project_harris TFIPL201145 0 53453
Project_mayajal TFIPL201145 1100 1500
Project_Tennis TFIPL201145 8949 8949
你能为这个查询提供帮助吗…要得到结果…你必须使用两个查询之间的相对链接来连接它们。据我所知,EmployeeId是一个很好的候选人。比如:
select categoryId, EmployeeId, SUM(Amount) as advance, Travelling.submitted_amt
from ExpenditureDetails inner join
(select CategoryId, EmployeeId, sum(Amount) as submitted_amt
from ExpenditureTravelling) as Travelling on
ExpenditureDetails.EmployeeId = Travelling.EmployeeId
where
(EmployeeId='TFIPL201145') group by....
希望这有帮助。选择a.categoryId、a.EmployeeId、isnullsuma.Amount、0作为提交金额, IsNull按b.categoryId、b.EmployeeId选择支出明细b中的sumb.amount,其中b.categoryId=a.categoryId和b.ExpertitureFor='Travel'组中的b.categoryId、b.EmployeeId、0作为预付款 从ExpertitureDetails a 其中a.EmployeeId='TFIPL201145'
a.CategoryId,a.EmployeeId分组请您尝试将问题的格式设置为更具可读性一点好吗?现在解决这个问题比构建SQL要困难得多。嗨,joachim Isaksson,现在你可以阅读我的查询了吗?