我想我需要重新修改信息:(我不知道如何为此编写代码)
表名:test1
以下示例给出了我正在寻找的内容 示例1
初始表 名称参考开始日期结束日期 5001 KLM123 01/01/2011 31/05/2012 5001 KLM111 01/06/2012 31/12/2012 5001 KLM112 01/01/2013 31/12/2013 5001 KLM112 01/01/2014 31/12/2014
决赛桌 名称参考开始日期结束日期 5001 KLM123 01/01/2011 31/05/2012 5001 KLM111 01/06/2012 31/12/2012 5001 KLM112 01/01/2013 2014年12月31日(记录3和4被压缩为一个给定的开始日期和结束日期,因为Name和Ref在此期间保持相同)
示例2
初始表 名称参考开始日期结束日期 5001 KLM123 01/01/2011 31/05/2012 5001 KLM111 01/06/2012 31/12/2012 5001 KLM112 01/01/2013 31/12/2013 5001 KLM112 01/01/2014 12/12/2014 5001 KLM134 01/01/2015 30/06/2015 5001 KLM133 01/07/2015 31/12/2015 5002 KLM144 01/01/2013 31/12/2013 5002 KLM155 01/01/2014 12/12/2014
决赛桌 名称参考开始日期结束日期 5001 KLM123 01/01/2011 31/05/2012 5001 KLM111 01/06/2012 31/12/2012 5001 KLM112 01/01/2013 2014年12月31日 5001 KLM134 01/01/2015 30/06/2015 5001 KLM133 01/07/2015 31/12/2015 5002 KLM144 01/01/2013 31/12/2013 5002 KLM155 01/01/2014 12/12/2014
希望将“决赛桌”作为另一张桌子。那么在PL / SQL中执行此操作的最佳和最佳方式是什么?
日Thnx
答案 0 :(得分:0)
With CTE as
(Select ID, name, Ref, Start_date, max(End_date)
from test1 group by ID, Name, Ref, Start_date)
Select T1.ID, T1.Name, T1.Ref, T1.Start_date, T1.End_date
From CTE t1
将此更改为插入内容,我认为它会按照您的要求进行操作...
我认为您需要基于ID,名称,参考和开始日期来自test1的唯一记录。如果没有唯一值,则需要MAX结束日期。