Voici ma déclaration select avec la innerjoin de deux tables,Quel est le problème avec ce 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
Mon volet de résultats,
alt text http://img220.imageshack.us/img220/7774/resultpane.jpg
Et Mon SalaryDetails Table,
alt text http://img28.imageshack.us/img28/770/salarydettable.jpg
EDIT : Ma sortie doit être,
16 CR14 Natarajan semaine 150,00 354,00
17 cr12333 Pandian hebdomadaire 122,00 0,00
Il pourrait aider si vous nous avez donné une idée de ce qui ne va pas avec votre sortie. Je ne peux pas comprendre, et je ne suis pas prêt à le faire. –
@Lieven, était sur le point de faire le même commentaire - J'ai fait une estimation qu'il obtient toujours 354 pour l'Advance alors qu'il a des valeurs différentes dans les détails Salary - je pourrais être loin de la marque, cependant. –
Vous avez raison, mais cela n'a rien à voir avec les jointures internes. –