日期:2014-05-18  浏览次数:20472 次

选择数据后加1再插入问题
在SQL中遇到一个问题比如:
  sql="insert into table(a,b,c,d) values('"&a&"','"&b&"','"&c&"','"&d&"')"
  这个表中,每一条a,b,c,d数据对对应一条d数据,我想实现该d数据,在table中取max(d)再加一后,连同这条记录插入到数据库中,想了好长时间,不知道这条语句是嵌入进去,还是外面独立写一条,请高手赐教。

------解决方案--------------------
给测试数据和你期待的结果
------解决方案--------------------
我想实现该d数据,在table中取max(d)再加一后,连同这条记录插入到数据库中,

到底是怎么插入的?
------解决方案--------------------
SQL code

inset tbl
select a,b,c,max(d) as d from table
group by a,b,c


--你应该是这个意思

------解决方案--------------------
SQL code

inset tbl
select a,b,c,max(d)+1 as d from table
group by a,b,c


--你应该是这个意思

------解决方案--------------------
探讨

引用:

给测试数据和你期待的结果

现在结果是,
a b c d
1 2 3 null
我想实现的是,比如原来里面已经有记录,那么d的内容是5,我这条记录应该是6