我正在寻找解决方案来解决我的问题。
我有一个查询
select em_name, sum(abs_day_left)
from pp_employees,
pp_types_abs,
pp_abs
where em_id = abs_em_id and abs_abs_id = abs_id and
abs_kod in ('12','13','14','15')
group by em_name
我想用其他abs_kod号(图像附件)制作更多列
第二列...('656','44','323','33')中的abs_kod第三列...('63','55','565','556')中的abs_kod等..示例表感谢您的帮助和愉快的周末
还有一件事...
公式计算整个月的天数,如何正确设置设置半个月的参数的天数,例如从1980-01-01到1980-03-15
预先感谢鲍勃
我认为您正在寻找条件聚合:
select
em_name,
sum(case when abs_kod in (12,13,14,15) then abs_day_left end) abs_day_left_1,
sum(case when abs_kod in (656,44,323,33) then abs_day_left end) abs_day_left_2,
sum(case when abs_kod in (63,55,565,556) then abs_day_left end) abs_day_left_3
from pp_employees
inner join pp_abs on em_id = abs_em_id
inner join pp_types_abs on abs_abs_id = abs_id
where and abs_kod in (12,13,14,15,656,44,323,33,63,55,565,556)
group by em_name
笔记:
总是使用显式联接,而不是旧式,隐式联接-我试图解决此问题,但是由于以下原因,我不确定我是否正确执行了...
始终用其所属的表来限定查询中的列
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句