我使用弹簧批量从表中读取数据并将数据写入另一个表格,我使用弹簧写入器作为插入部分。我的问题是:
我从表中获取如下所示的数据:
cust type date
==== ===== ====
1 P 1985
1 P 1980
1 P 1970
2 P 1984
我试图通过运行上表中select distinct( cust , type)
的查询来将这些数据插入到另一个表中,以获得以下结果:
cust type date
==== ===== ====
1 P 1985
2 P 1984
基本上我想做的是获取cust and type
的不同集合,如果此cust. type
集有多个记录,那么我得到max(date)
。
在使用查询时是否还有这样做?或任何有效方法的建议?
提前致谢!
更新:
日期中有一些记录具有NULL值,例如
cust type date
==== ===== ====
1 P NULL
1 P NULL
1 P NULL
2 P 1984
如果我查询max(date)
,它将不会返回cust(1)
的任何记录..任何建议都将不胜感激!
答案 0 :(得分:0)
select
cust,
type,
max(isnull(date,'1/jan/1900'))
from
<table>
group by
cust,
type
应该做的工作!
编辑:
在日期周围的isnull中添加,因此如果它为null,它仍将返回一个值。我自己还没有测试过,所以让我知道它是怎么回事!