Puis-je demander SUM()
dans un ISNULL()
.... Considérez mon instruction select suivante sql serverCette syntaxe sql est-elle correcte?
SELECT e.Emp_Id,e.Identity_No,e.Emp_Name,case WHEN e.SalaryBasis=1
THEN 'Weekly' ELSE 'Monthly' end as SalaryBasis,e.FixedSalary,
ISNULL(Adv.Daily_Wage,0) as Advance from Employee as e
inner join Designation as d on e.Desig_Id=d.Desig_Id
Left Outer Join Payroll as Adv on e.Emp_Id=Adv.Emp_Id where e.Is_Deleted=0
Cette déclaration fonctionne bien .... Mais quand je demande SUM()
dans un ISNULL()
SELECT e.Emp_Id,e.Identity_No,e.Emp_Name,case WHEN e.SalaryBasis=1
THEN 'Weekly' ELSE 'Monthly' end as SalaryBasis,e.FixedSalary,
ISNULL(SUM(Adv.Daily_Wage),0) as Advance from Employee as e
inner join Designation as d on e.Desig_Id=d.Desig_Id
Left Outer Join Payroll as Adv on e.Emp_Id=Adv.Emp_Id
where e.Is_Deleted=0
J'ai l'erreur,
La colonne 'Employee.Emp_Id' n'est pas valide dans la liste de sélection car elle n'est pas contenue dans une fonction agrégée ou la clause GROUP BY.
Toute suggestion ....
@astander maintenant il a travaillé .... Merci j'ai raté une colonne ... –
la 'case' dans le' GROUP BY' * me semble inefficace ... Vous pouvez tout aussi bien grouper par 'e.SalaryBasis' à la place. – bart