select * from 
(select a.* ,b.集装箱号,b.规格 from  a a join b b on a.作业编号=b.作业编号) bb
where 换单联系  in
( select top 1 换单联系  from 
  (select a.* ,b.集装箱号,b.规格 from  a a join b b on a.作业编号=b.作业编号) cc
where cc.作业编号=bb.作业编号 and cc.抵港日期=bb.抵港日期 and cc.集装箱号=bb.集装箱号
)

解决方案 »

  1.   

    create table #表1(作业编号 varchar(100),贸易方向 varchar(10),抵港日期 datetime,换单联系 varchar(10),标箱数量 int)
    insert #表1 values('CMTTRADE2003041601','进口','2003.04.17','现代',2)
    insert #表1 values('CMTTRADE2003042302','进口','2003.04.24','bb',1)
    insert #表1 values('CMTTRADE2003042305','进口','2003.04.24','cc',1)
    insert #表1 values('CMTTRADE2003042401','进口','2003.04.24','ff',1)
    insert #表1 values('CMTTRADE2003042401','进口','2003.04.24','ee',1)
    insert #表1 values('CMTTRADE2003050102','进口','2003.05.01','dd',1)
    create table #表2(作业编号 varchar(100),集装箱号 varchar(100),规格 varchar(10),型号 varchar(10))
    insert #表2 values('CMTTRADE2003041601','HDMU4218707','40''','普通箱')
    insert #表2 values('CMTTRADE2003042302','HDMU4596461','40''','普通箱')
    insert #表2 values('CMTTRADE2003042305','HDMU2197441','20''','普通箱')
    insert #表2 values('CMTTRADE2003042401','HDMU2197441','40''','普通箱')
    insert #表2 values('CMTTRADE2003042401','HDMU2197441','20''','普通箱')
    insert #表2 values('CMTTRADE2003050102','HDMU4232726','40''','普通箱')select max(作业编号) 作业编号 from #表2 where 作业编号 in( select 作业编号 from #表1 where 抵港日期='2003.04.24') group by 集装箱号select * from #表1 where 作业编号 in(select max(作业编号)  from #表2 where 作业编号 in( select 作业编号 from #表1 where 抵港日期='2003.04.24') group by 集装箱号)
    go
    drop table #表2,#表1
      

  2.   

    我觉得你这是个交叉集的...你可以我在下面的表中插入几个数据.看看效果..我觉得你是你想要的..,,
    2.交叉表
    create table jiaocha_611(name varchar(5),subject nchar(4),score numeric(3,0)) go
     insert into jiaocha_611
     values('kf','语文','60')
     go不确定列的交叉表:
    declare @sql varchar(8000)
    set @sql = 'select name,'
    select @sql = @sql + 'sum(case subject when '''+subject+''' 
                              then score else 0 end) as '''+subject+''',' from (select distinct subject from administrator.jiaocha_611) as a
    select @sql = left(@sql,len(@sql)-1) + ' from administrator.jiaocha_611 group by name'
    exec(@sql)
    go
      

  3.   

    更正:
    -----------------
    主表的数据多了一条CMTTRADE2003042401 进口 2003.04.24 ee 1应该没有这一条数据-----------------------希望达到的效果是:
    表一和表二关联之后,显示的记录数应该是五条,同一天抵港的不同作用编号,但是使用的是一个集装箱的记录应该只是显示一条
      

  4.   

    序号(内部序号),批次序号(组序号)没有实际意义,不用管,不属于数据库的内容-------------------------------批次序号 作业编号 货品批次 贸易方向 抵港日期 换单联系 标箱数量 箱情描述 序号 箱号 规格 箱型 行号 备注
    1 CMTTRADE2003041601 德国BEHR海运03L15 进口 2003.04.17 现代 2 1 HDMU4218707 40' 普通箱 1
    2 CMTTRADE2003042302 德国海拉海运03L39 进口 2003.04.24 1 1 HDMU4596461 40' 普通箱 2
    3 CMTTRADE2003042305 德国海拉海运03L40 进口 2003.04.24 1 1 HDMU2197441 20' 普通箱 3
    4 CMTTRADE2003042401 德国HUS海运03L10 进口 2003.04.24 1 1 HDMU2197441 40' 普通箱 4
    4 CMTTRADE2003042401 德国HUS海运03L10 进口 2003.04.24 1 2 HDMU2197441 20' 普通箱 5
    5 CMTTRADE2003050102 德国海拉海运03L44 进口 2003.05.01 1 1 HDMU4232726 40' 普通箱 6