做一个利用条码进行单体跟踪的系统,每一个产品都有贴有一个条码,一个产品在这个加工单报废后有可能在另一个加工单上再利用.
表t :条码号,加工单号,工序,经手人,接手人,时间,id
      id是自增标识列
建立视图对每个加工单进行统计查询:
create view v_t
as
select * from t where id in 
(
select max(id) from dbo.t 
group by 加工单号,条码号
)请教各位,有其它的方法可以高效些吗??

解决方案 »

  1.   

    我现在用的一个方法是用于个函数 dbo.f_t(条码号,加工单号,id),判断当前记录是不是该加工单的最后记录,是就返回1 ,否就返回 0.
    create view v_t
    as
    select * from t 
    where 
    dbo.f_t(条码号,加工单号,id) = 1
    -- 假设不会出现最后的记录的id 不是一个单内最大
      

  2.   

    --trycreate view v_t
    as
    select * from t as A
    where not exists(select 1 from t where 加工单号=A.加工单号 and 条码号=A.条码号 and id>A.id)