다음은 두 테이블의 innerjoin 내 select 문,이 SQL innerjoin에는 어떤 문제가 있습니까?
if not exists(select EmpId from SalaryDetails
where EmpId in (select Emp_Id
from Employee where [email protected]))
begin
// some statements here
end
else
begin
SELECT e.Emp_Id, e.Identity_No, e.Emp_Name,
case WHEN e.SalaryBasis=1 THEN 'Weekly'
ELSE 'Monthly' end as SalaryBasis,e.FixedSalary,
(SELECT TOP 1 RemainingAdvance
FROM SalaryDetails
ORDER BY CreatedDate DESC) as Advance
FROM Employee as e inner join Designation as d on e.Desig_Id=d.Desig_Id
INNER JOIN SalaryDetails as S on e.Emp_Id=S.EmpId
End
내 결과 창,
alt text http://img220.imageshack.us/img220/7774/resultpane.jpg
그리고 내 SalaryDetails 표를
alt text http://img28.imageshack.us/img28/770/salarydettable.jpg
EDIT입니다 :,내 출력 그래서,
16 CR14 Natarajan를 주간에게, 150.00 354.00
17 cr12333 Pandian 주간 122.00 0.00
귀하의 산출물. 나는 그것을 이해할 수 없으며 기꺼이 할 수도 없다. –
@ 리벤 (Lieven)은 같은 논평을하려고 한 것입니다. 그는 그가 Advance에 대해 354 점을 얻었지만 SalaryDetails에서 다른 가치를 지녔다고 추측했습니다. –
당신은 맞지만 내부 조인과 아무 관련이 없습니다. –