我懒,没有处理,直接copy的---------------------------1------------------------------------
select top 15 * from
(
select CLTXJL.ID,DDXX.DDMC,DDXX.ID as DDID,CDMC,XSFX,TPID,WFBH,JGSJ,HPHM,HPYS,CSYS,
HPZL,CLLX,CLSD,CWKC,CSL,HDSJ,DYBJ,DYBH,DCBJ,SCBZ,BJBJ
FROM CLTXJL,CENTER_SYS_CDXX,(select * from center_sys_ddxx where id in (253)) DDXX
where CLTXJL.CDID=CENTER_SYS_CDXX.ID and CENTER_SYS_CDXX.DDID=DDXX.ID
) cltxjl where
JGSJ>='2010-08-10 09:27:00' and JGSJ<'2010-08-19 09:27:00' and cltxjl.id
not in
(
select top 10000 ss.id from
(
select cltxjl.ID FROM CLTXJL,CENTER_SYS_CDXX,(select * from center_sys_ddxx where id in (253)) DDXX
where
CLTXJL.CDID=CENTER_SYS_CDXX.ID and CENTER_SYS_CDXX.DDID=DDXX.ID
and JGSJ>='2010-08-10 09:27:00' and JGSJ<'2010-08-19 09:27:00'
)ss
)-----------------------------------2-------------------------------------------create table #tb
(
ID int,
DDMC varchar(100),
DDDM varchar(50),
DDJD varchar(50),
DDWD varchar(50)
)
insert into #tb select * from center_sys_ddxx where id in(253)select top 15 * from
(
select CLTXJL.ID,#tb.DDMC,#tb.ID as DDID,CDMC,XSFX,TPID,WFBH,JGSJ,HPHM,HPYS,CSYS,
HPZL,CLLX,CLSD,CWKC,CSL,HDSJ,DYBJ,DYBH,DCBJ,SCBZ,BJBJ
FROM CLTXJL,CENTER_SYS_CDXX,#tb
where CLTXJL.CDID=CENTER_SYS_CDXX.ID and CENTER_SYS_CDXX.DDID=#tb.ID
) cltxjl where
JGSJ>='2010-08-10 09:27:00' and JGSJ<'2010-08-19 09:27:00'
and cltxjl.id
not in
(
select top 10000 ss.id from
(
select cltxjl.ID FROM CLTXJL,CENTER_SYS_CDXX,#tb
where
CLTXJL.CDID=CENTER_SYS_CDXX.ID and CENTER_SYS_CDXX.DDID=#tb.ID
and JGSJ>='2010-08-10 09:27:00' and JGSJ<'2010-08-19 09:27:00'
)ss
)
drop table #tb
为什么这两个查询出来的结果却是不一样的??
select top ....一般应该有order by,没有就可能出现结果不一致情况,无论在子查询内还是主查询,子查询尤其应该有order by
用临时表是快很多,用吧