浏览 2213 次
锁定老帖子 主题:多表联查时候的条件单值过滤
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2010-05-23
在数据库的多表关联中,有时候需要一个值来进行查询过滤出不重复的值,因为多表的关系使用GroupBy和Distinct有时候不能够满足需要,下面的sql语句直接实现单值条件的查询。 select D.XM AS NAME, D.XB, D.CSRQ, C.SG, C.TZ, A.TJRYMC, A.TJRQ, A.XCTJRQ, A.FINISHED, A.EMPI from ET_TJRQDZ A, ET_TJJL B, ET_TJJL1 C, DA_GRDA0 D WHERE A.EMPI = B.EMPI AND A.XCTJRQ = B.XCTJRQ AND B.ID = C.TJID AND A.EMPI = C.EMPI and A.EMPI = D.EMPI and A.JGBM = '03' and A.XCTJRQ >= 40312 and A.XCTJRQ <= 40329 and c.yeid = (select id from (select max(yeid) as id, empi from ET_TJJL1 E where E.empi = B.empi group by empi) F) 主要作用是在最后一个子查询上面起到了过滤的作用。欢迎大家提供更好的解决方案。 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |