2012-03-24 4 views
0

내가이 2 표 결과에서,이 테이블을 데 다음과 같은 결과를 얻을, 내가 3 표를 얻을 필요가 나의 첫번째 테이블 쿼리 결과는SQL 쿼리 -join이

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 

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 

이 유 plz 수 있습니다

이 쿼리에 대한 도움말이 테이블에 합류 ... 난 내 결과 테이블이해야 할

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

을 a.EmployeeId 질문을 좀 더 읽기 쉽도록 포맷 해 주시겠습니까? 지금은 SQL을 작성하는 것보다 문제를 파악하는 것이 훨씬 더 많은 작업이 될 것입니다. –

+0

안녕하세요, 조아킴 이삭손, 이제 내 검색어를 읽을 수 있습니까? – user1285783

답변

0

둘 사이의 상대 링크를 사용하여 두 쿼리를 결합해야합니다. 제가 알 수있는 바로는 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.... 

희망이 있습니다.

0

선택 a.categoryId가 a.EmployeeId, ISNULL (SUM (a.Amount)는, 0) submitted_amt 같이 ISNULL ((ExpenditureDetails B의 합 (b.amount)을 선택 여기서 b.categoryId = a.categoryId 및 b.Expenditurefor b.categeoryid 의해 = '여행'기 b.EmployeeId))은, 0)에서 미리 ExpenditureDetails 로 a.categeoryid 의해 a.EmployeeId = 'TFIPL201145'
기는