zoukankan      html  css  js  c++  java
  • sql server 查询多个不关联表且对结果编号

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

    解决方法:top 100 percent *

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

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

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

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

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

    select top 50 a.* from (
    
    select top 100 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=0,qs=0 From wenzhang 
    union all 
    Select tablename='jchd',title,id,BILLDATE,lx=7,zqs=0,qs=0  From jchd 
    union all
    Select tablename='jianbao',title,id,BILLDATE,lx=8,ZQS,QS From jianbao ) as a
    where 1=1 
    order by billdate desc,a.lx asc,a.id desc
    ) a where a.rowid not in (select top 25 a.rowid from (
    
    select top 100 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=0,qs=0 From wenzhang 
    union all 
    Select tablename='jchd',title,id,BILLDATE,lx=7,zqs=0,qs=0  From jchd 
    union all
    Select tablename='jianbao',title,id,BILLDATE,lx=8,ZQS,QS From jianbao ) as a
    where 1=1 
    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 50 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=0,qs=0 From wenzhang 
    union all 
    Select tablename='jchd',title,id,BILLDATE,lx=7,zqs=0,qs=0  From jchd 
    union all
    Select tablename='jianbao',title,id,BILLDATE,lx=8,ZQS,QS From jianbao ) as a
    where 1=1 
    
    ) a where a.rowid not in (select top 25 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=0,qs=0 From wenzhang 
    union all 
    Select tablename='jchd',title,id,BILLDATE,lx=7,zqs=0,qs=0  From jchd 
    union all
    Select tablename='jianbao',title,id,BILLDATE,lx=8,ZQS,QS From jianbao ) as a
    where 1=1 
    
    ) 
    a order by a.billdate desc,a.lx asc,a.id desc) order by a.billdate desc,a.lx asc,a.id desc
  • 相关阅读:
    移动端网页使用flexible.js加入百度联盟广告样式不一致问题解决
    flexible.js移动端适配安卓高分辨不兼容问题
    vue select二级城市联动及第二级默认选中第一个option值
    设置滚动条样式
    windows mongodb最常用命令简单归纳
    vue用阿里云oss上传图片使用分片上传只能上传100kb以内的解决办法
    vue实现文章内容过长点击阅读全文功能
    vue获取dom元素注意问题
    input框取消光标颜色手机端不生效
    基于 Vue.js 的移动端组件库mint-ui实现无限滚动加载更多
  • 原文地址:https://www.cnblogs.com/ding2011/p/3270212.html
Copyright © 2011-2022 走看看