+ -
当前位置:首页 → 问答吧 → 我就是查询2个 a表的id在b表里也有的 然后我查询a表的不同id在b表里的最后一条记录 同时显示2个表的所有字段

我就是查询2个 a表的id在b表里也有的 然后我查询a表的不同id在b表里的最后一条记录 同时显示2个表的所有字段

时间:2011-11-25

来源:互联网

表结构@Goods_ID bigint output,
@Goods_Name varchar(50),
@Goods_Yl varchar(50),
@Goods_Sz varchar(50),
@Goods_Md varchar(50),
@Goods_Fk varchar(50),
@Goods_Bb varchar(50),
@Goods_Pm varchar(50),
@Goods_Jg varchar(50),
@Goods_Zl varchar(),
@Goods_YJ varchar(50),
@Goods_Zkj varchar(50),
@Goods_Dlqd varchar(50),
@Goods_Slqd varchar(50),
@Goods_Pbkz varchar(50),
@Goods_Pbkz1 varchar(50),
@Goods_Sjmf varchar(50),
@Goods_Xjmf varchar(50),
@Goods_Sxpz varchar(50),
@Goods_Sxgy varchar(50),
@Goods_Cpkz varchar(50),
@Goods_Cpmd varchar(50),
@Goods_Cpmf varchar(50),
@Goods_Zjlx varchar(50),
@Goods_Cpfl varchar(50),
@Goods_Bz varchar(50),
@Goods_Cpyt varchar(),
@Goods_Bz1 varchar(50),
@Goods_Bz2 varchar(50),
@Goods_Bz3 varchar(),
@Goods_Bz4 varchar(50),
@Goods_cx int  
@Property_ID bigint output,
@Goods_ID bigint,
@Color_ID bigint,
@Property_Pic varchar(50),
@Property_bz varchar(50),
@Property_bz1 varchar(50),
@Property_bz2 varchar(50),
@Property_type int,
@Property_ms varchar(50),
@Property_cx int,
@Property_name varchar(50),
@Property_bz3 varchar(50),
@Property_bz4 varchar(50),
@Property_bz5 varchar(50)

作者: yybianjing   发布时间: 2011-11-25

a表中的ID,b表中也有:
select id from a where exists(select 1 from b where id=a.id)

作者: qianjin036a   发布时间: 2011-11-25

然后的要求
如果a表中每个id在b表中对应最后一条是以b 表的某一个时间字段来比较的,那:
select t1.*,t2.* from a t1 inner join t2 b on a.id=b.id
where not exists(select 1 from b where id=t2.id and dt>b.dt)
这里dt是指b表中的时间列.如果你是用另一个列作为排序的,那把dt换成那个列.

作者: qianjin036a   发布时间: 2011-11-25