日期:2014-05-18  浏览次数:20533 次

union all 问题
1。为什么搜索6-8条记录,而sql语句无记录,是不是not   exists只执行where语句:
select   top   3   *   from   person   A
where   not   exists   (select   top   5   *   from   person     B   where   A.person_id=B.person_id)
2。为什么union   all   无法跟order   by   运行,但作为一个表来执行却可以,
如:
select   id   from
(
select   top   5     id   from   person   order   by   id  
  union   all  
select   top   8     id   from   person   order   by   id  
)   C
可以运行,但下个语句却无法运行
select   top   5     id   from   person   order   by   id  
  union   all  
select   top   8     id   from   person   order   by   id  


------解决方案--------------------
select top 3 * from person A
where not exists (select top 5 * from person B where A.person_id=B.person_id)
是什么意思啊? 你的not exists理解有问题

------解决方案--------------------
select top 5 id from person --要去掉這個order by id
union all
select top 8 id from person order by id
------解决方案--------------------
1、select top 3 * from (select top 8 * from person order by id asc) b order by id desc
2、第一个order by 不要
------解决方案--------------------
select id from
(
select top 5 id from person order by id
union all
select top 8 id from person order by id
) C

是把()里当前一作表来处理,