2012-05-16 20 views
0

我正在想办法如何崩溃基于值记录该解决方案..倒塌日期记录,如果该值不会改变

表1(输入)

Emp_ID Start_Date End_Date Rating Department Salary 
2000 01012011 12312011 A HR   10000 
2000 01012012 12319999 A HR   20000 
3000 01012011 12312011 B Operations 50000 
3000 01012012 12312012 B Operations 60000 
3000 01012013 12319999 C Operations 70000 

表2(输出)

Emp_ID Start_Date End_Date Rating Department 
2000 01012011 12319999 A HR 
3000 01012011 12312012 B Operations 
3000 01012013 12319999 C Operations 

数据库是oracle。我只是需要就如何解决这个问题,使我可以在它的工作的一些启动..

在此先感谢..

编辑:假设表1 &表2有EMP_NAME列。但我不能够通过不会让我这样做,在表2的组加载此列。(我说的生根粉巴勃罗·圣克鲁斯给出的水溶液)

任何对此的解决方案..

编辑:编辑混淆表结构agan..sorry

回答

2

试试这个:

select emp_id, rating, min(start_date), max(end_date) 
    from table_1 
group by emp_id, rating 

如果您需要实际的值存储在table_2表,启动一个SQL语句与create table table_2 as

考虑你评论,你可以做什么:

create table table_2 as 
select emp_id, rating, min(start_date), max(end_date), 
     'EMP_DEPT_INFO' as emp_deparment 
    from table_1 
group by emp_id, rating 

其他可能性,可能会首先创建表,然后做一个alter table以包括新列。

+0

非常感谢您的解决方案..你救了我。是的,我需要加载这个数据到另一个表2,但我需要添加一列,但组不会让我在选择部分添加该列..你可以建议一个出路吗? – javanoob

+0

@javanoob:你需要在额外的列上存储什么? –

+0

我想在该列中存储Emp_Department信息 – javanoob