先从表里查出最大的编号为 a select max(入库编号) from a where left(入库编号,3)='G01';
然后将这个最大编号加1 为 b
然后在在数据库中写 insert (入库编号,品牌)value (b,'ddd")  
'G01'作为“入库编号”字段的一部分,G01代表的是一种产品. G01001才是完整编号 .
   我想在一个语句中实现:
   
     Insert Into 产品信息表(入库编号,品牌) 
select case left(入库编号,3) when 'G01' then select Right('0000'+Cast(IsNull(max(入库编号),0)+1 as varchar(4)),4)
else end ,
'啊打算',
GPS手持机',
FROM 产品信息表   

解决方案 »

  1.   

    //select case left(入库编号,3) when 'G01' then select Right('0000'+Cast(IsNull(max(入库编号),0)+1 as varchar(4)),4)
    else end ,
    '啊打算',
    GPS手持机',-------------------单引号呢?还有,这第三个字段对应的是什么?在Insert的字段中没有第三个字段.
    FROM 产品信息表
      

  2.   

    看你这个SQL似乎不需要这么来处理了,还有,你取入库编号可以作一个用户定义的函数来解决。用来加强可视性,不然这样看起来够混的。Insert Into 产品信息表 (入库编号,品牌) Values
    ((Select Case Left(入库编号,3) When 'G01' Then Right('0000' + Case(IsNull(Max(入库编号),0)+1 As varchar(4)),4) End From 产品信息表),'啊打算')