将多个记录合并为1

时间:2012-02-19 04:07:49

标签: sql oracle

我有一个看起来像这样的表: Source Table

我正在尝试编写一个返回此内容的查询: Desired result

我正在尝试基于effect_date合并记录,但前提是end_dates在effect_date和end_date范围内。

2 个答案:

答案 0 :(得分:1)

select employee
,      effect_date
,      max(end_date) end_date
,      max(clinical_fte)
,      max(admin_fte)
,      max(mgmt_fte)
,      max(other_fte)
from   table
group by employee
,      effect_date

如前所述,Chris Farmer,结束日期必须介于effect_date和end_date之间的第二个要求是愚蠢的,因为它总是如此。 我为你要合并的所有记录选择了max,因为你还没有说明你想如何合并它们。随意调整您的需求;)

答案 1 :(得分:0)

尝试此SQL查询:

select *
from TABLE
where end_date between effect_date and end_date