带条件的sql查询分组
有一个表,其中包含employee Numbers列和monthy Payments列,paramcodecolumn列为basic,vda等。。以及对应于每个参数代码的amountscolumn带条件的sql查询分组,sql,grouping,Sql,Grouping,有一个表,其中包含employee Numbers列和monthy Payments列,paramcodecolumn列为basic,vda等。。以及对应于每个参数代码的amountscolumn empno. month paramcode amount 1 jan basic 788 1 feb vda 232 1 march pf 12 这才是真正的问题 编写查询以显示员工付款的基本+VD
empno. month paramcode amount
1 jan basic 788
1 feb vda 232
1 march pf 12
这才是真正的问题
编写查询以显示员工付款的基本+VDA+HRA之和,其中该员工已在付款中获得PF
不要使用子查询、联接和集合运算符
我的答案是
SELECT EmployeeNumber,paramcode, SUM(ActualAmount) AS S FROM pay
WHERE ParamCode IN ('BASIC','VDA','HRA','pf')
GROUP BY GROUPING SETS((EmployeeNumber,ParamCode))
ORDER BY EmployeeNumber
但是我想消除参数代码为'pf'的员工编号如果我理解您正确使用SQL except标记,除了'pf'中的参数代码之外。您实际上是在参数代码中添加'pf',这是正确的查询:
SELECT EmployeeNumber,paramcode, SUM(ActualAmount) AS S FROM pay
WHERE ParamCode IN ('BASIC','VDA','HRA')
GROUP BY GROUPING SETS((EmployeeNumber,ParamCode))
ORDER BY EmployeeNumber