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. C# 之 FileSystemWatcher事件多次触发的解决方法

    1.问题描述  程序里需要监视某个目录下的文件变化情况: 一旦目录中出现新文件或者旧的文件被覆盖,程序需要读取文件内容并进行处理.于是使用了下面的代码: public void Initial() { ...

  2. EF——继承映射关系TPH、TPT和TPC的讲解以及一些具体的例子 05 (转)

    EF里的继承映射关系TPH.TPT和TPC的讲解以及一些具体的例子   本章节讲解EF里的继承映射关系,分为TPH.TPT.TPC.具体: 1.TPH:Table Per Hierarchy 这是EF ...

  3. 获取客户端的IP地址

    /// <summary> /// 获取客户端的IP地址 /// </summary> /// <returns></returns> public s ...

  4. 【Mood-5】14条建议,使你的IT职业生涯更上一层楼

    升值为企业IT部门的领导者,并非一件易事.从一般大众中脱颖而出,则更不容易. 2013是一个好年头,据专家报告显示,6月所有新工作中,10%来自技术领域.这对于那些希望高升.换岗.跳槽的IT技术人员来 ...

  5. iOS - 提示信息 - UIAlertView、UIActionSheet、UIAlertController的实际应用

    1.UIAlertView(屏幕中央弹出框)(不需要服从代理) UIAlertView * alertView = [[UIAlertView alloc] initWithTitle:@" ...

  6. 重构11-Switch to Strategy(Switch到策略模式)

    重构没有固定的形式,多年来我使用过不同的版本,并且我敢打赌不同的人也会有不同的版本. 该重构适用于这样的场景:switch语句块很大,并且会随时引入新的判断条件.这时,最好使用策略模式将每个条件封装到 ...

  7. 【前端JS、后台C#】编码解码。

    最近做项目,出现中文乱码的问题,特地研究一下. GB2312,指的是中文 UTF8,指的是国标,包含中文.英文. 但是通过JQuery.ajax的Get.Post,如果直接传递中文或者特殊字符的特使字 ...

  8. Linux双网卡绑定和解除绑定的实现

      双网卡绑定实现就是使用两块网卡虚拟成为一块网卡,这个聚合起来的设备看起来是一个单独的以太网接口设备,通俗点讲就是两块网卡具有相同的IP地址而并行链接聚合成一个逻辑链路工作.根据交换机可支持的功能不 ...

  9. 初识 Asp.Net内置对象之Response对象

    Response对象 Respose对象用于将数据从服务器发送回浏览器.它允许将数据作为请求的结果发送到浏览器,并提供有光响应的信息,可以用来在页面中输入数据,在页面中跳转,还可以传递各个页面的参数, ...

  10. AngularJS 学习笔记(1)

    AngularJS是一款前端JS框架.AngularJS官网 http://angularjs.org [开发环境准备]: 1,下载AngularJS:JS and CSS in Solution 2 ...