1.除非另外还指定了 TOP 或 FOR XML,否则,ORDER BY 子句在视图、内联函数、派生表、子查询和公用表表达式中无效。

解决方法:top 100 percent *

2.如何对查询结果编号?

解决方法:row_number() over (order by billdate desc) as rowid

3.如何查询多个不关联表?且各表的字段不一样怎么办?

解决方法:使用union all,具体方法如下面代码

示例代码:(执行成功,但代码有多余,为了提供实例说明)

select top  a.* from (

select top  percent *,row_number() over (order by billdate desc,a.lx asc,a.id desc) as rowid from
(Select tablename='wenzhang',title,id,BILLDATE,lx,zqs=,qs= From wenzhang
union all
Select tablename='jchd',title,id,BILLDATE,lx=,zqs=,qs= From jchd
union all
Select tablename='jianbao',title,id,BILLDATE,lx=,ZQS,QS From jianbao ) as a
where =
order by billdate desc,a.lx asc,a.id desc
) a where a.rowid not in (select top a.rowid from ( select top percent *,row_number() over (order by billdate desc,a.lx asc,a.id desc) as rowid from
(Select tablename='wenzhang',title,id,BILLDATE,lx,zqs=,qs= From wenzhang
union all
Select tablename='jchd',title,id,BILLDATE,lx=,zqs=,qs= From jchd
union all
Select tablename='jianbao',title,id,BILLDATE,lx=,ZQS,QS From jianbao ) as a
where =
order by billdate desc,a.lx asc,a.id desc
)
a order by a.billdate desc,a.lx asc,a.id desc) order by a.billdate desc,a.lx asc,a.id desc

简化后代码:(执行成功)

select top  a.* from (

select *,row_number() over (order by billdate desc,a.lx asc,a.id desc) as rowid from
(Select tablename='wenzhang',title,id,BILLDATE,lx,zqs=,qs= From wenzhang
union all
Select tablename='jchd',title,id,BILLDATE,lx=,zqs=,qs= From jchd
union all
Select tablename='jianbao',title,id,BILLDATE,lx=,ZQS,QS From jianbao ) as a
where = ) a where a.rowid not in (select top a.rowid from ( select *,row_number() over (order by billdate desc,a.lx asc,a.id desc) as rowid from
(Select tablename='wenzhang',title,id,BILLDATE,lx,zqs=,qs= From wenzhang
union all
Select tablename='jchd',title,id,BILLDATE,lx=,zqs=,qs= From jchd
union all
Select tablename='jianbao',title,id,BILLDATE,lx=,ZQS,QS From jianbao ) as a
where = )
a order by a.billdate desc,a.lx asc,a.id desc) order by a.billdate desc,a.lx asc,a.id desc

sql server 查询多个不关联表且对结果编号的更多相关文章

  1. SQL Server查询某个字段存在哪些表中

    一.查询SQL Server中所有的表 SQL语句:SELECT * FROM sys.tables name列表示所有的表名. 二.查询SQL Server中所有的列 SQL语句:SELECT * ...

  2. SQL Server查询数据库中所有的表名及行数

    SELECT a.name, b.rows FROM sysobjects AS a INNER JOIN sysindexes AS b ON a.id = b.id WHERE (a.type = ...

  3. SQL Server查询性能优化——堆表、碎片与索引(二)

    本文是对 SQL Server查询性能优化——堆表.碎片与索引(一)的一些总结.  第一:先对 SQL Server查询性能优化——堆表.碎片与索引(一)中的例一的SET STATISTICS IO之 ...

  4. 何查询SQL Server数据库没有主键的表并增加主键

    SQL Server数据库中,如果一个表没有主键,我们该如何查询呢?本文我们主要就介绍了如何查询数据库中没有主键的表名并为其增加主键的方法,希望能够对您有所帮助. 该功能的实现代码如下: declar ...

  5. sql server 查询某个表被哪些存储过程调用

    sql server 查询某个表被哪些存储过程调用 select distinct object_name(id) from syscomments where id in (select id fr ...

  6. 数据库表设计时一对一关系存在的必要性 数据库一对一、一对多、多对多设计 面试逻辑题3.31 sql server 查询某个表被哪些存储过程调用 DataTable根据字段去重 .Net Core Cors中间件解析 分析MySQL中哪些情况下数据库索引会失效

    数据库表设计时一对一关系存在的必要性 2017年07月24日 10:01:07 阅读数:694 在表设计过程中,我无意中觉得一对一关系觉得好没道理,直接放到一张表中不就可以了吗?真是说,网上信息什么都 ...

  7. SQL Server 查询锁表和接锁表

    SQL Server 查询锁表 select request_session_id spid,OBJECT_NAME(resource_associated_entity_id) as tableNa ...

  8. sql server 查询时会锁表吗?

    sql server在执行查询语句时会锁表.在锁表期间禁止增删改操作. 如果不想锁表,那就再表名或别名后面加上WITH(NOLOCK) 如下所示:

  9. [转] 利用SET STATISTICS IO和SET STATISTICS TIME 优化SQL Server查询性能

    首先需要说明的是这篇文章的内容并不是如何调节SQL Server查询性能的(有关这方面的内容能写一本书),而是如何在SQL Server查询性能的调节中利用SET STATISTICS IO和SET ...

随机推荐

  1. FMDB 二次封装工具类,让你快速学会封装,集成数据库

    来源:StrivEver 链接:http://www.jianshu.com/p/4c77aee0b41c 上个版本为了增加用户体验,部分页面集成了离线缓存数据功能,于是就在项目里使用了数据库管理离线 ...

  2. 收藏一部山地车教学视频,Fabien Barel主讲及动作示范

    视频是由曾多次获得UCI速降赛的冠军车手Fabien Barel主讲及动作示范,讲解山地车越野的装备以及基本动作.视频中的要点说明我已经手录为文本,如果视频中没有看清的地方,也可以看文字. 骑行装备 ...

  3. ios -几种常见定时器

    转自cocoachina 网友分享: http://mp.weixin.qq.com/s?__biz=MjM5OTM0MzIwMQ==&mid=206637839&idx=7& ...

  4. nodejs的mysql模块学习(五)数据库连接配置之SSL

    SSL选项 在SSL连接选项中需要一个字符串 或者对象 当是字符串的时候 将使用预定义的SSL配置文件 "Amazon RDS" 只有这一个预定义配置文件 用来连接到亚马逊RDS服 ...

  5. Android必会小功能总结

    1.获取屏幕尺寸.密度等信息. 1)最常用的方法: WindowManager windowManager = getWindowManager(); Display display = window ...

  6. mysql 自增序列(转)

    1:原理是在建立一个触发器TRIGGER tri_NewBH  在table插入时执行序列计算 mysql),content ),`date` DATETIME,val INT); Query OK, ...

  7. Ajax+JSON学习笔记(二)

    来源:http://www.imooc.com/learn/250 readyState属性 0:请求未初始化,open还没有调用 1:服务器连接已建立,open已经调用了 2:请求已接受,也就是接收 ...

  8. for in

    1   for in 循环如果遍历的是数组 那么  i  就是数组的索引值 var x; var person=[456,"qwe",890]; for (x in person) ...

  9. 201509020-js

    JS 关于(function( window, undefined ) {})(window)写法的理解   JS 关于(function( window, undefined ) {})(windo ...

  10. 代码研磨 Slim v3 (二)--app->run()

    APP->run()代码如下:   /** * Run application * * This method traverses the application middleware stac ...