SQL 语句中union all和order by同时使用
ALTER proc [dbo].[pr_get_time_limit] as select
cast(a.anjianmingcheng as varchar(100)) as anjianmingcheng,
cast(c.caiwumingcheng as varchar(100)) as caiwumingcheng,
cast(c.caiwubianhao as varchar(100)) as caiwubianhao,
case
when datediff(day,c.caoqi,getdate())> 0 then '保存超期'+cast(abs(datediff(day,c.caoqi,getdate())) as varchar(50))+'天'
else cast(abs(datediff(day,c.caoqi,getdate())) as varchar(50))+'天后保存超期'
end as state,
c.caoqi as tagtime
from SACW_CaiWu c
left join SACW_CaiWuDiaoYongJiLu as d on c.Id=d.caiwuId
left join SACW_AnJian as a on c.anjianId=a.id
where c.jiazhijine>0 and getdate()>dateadd(day,-7,c.caoqi) or c.kucunshuliang>0 and getdate()>dateadd(day,-7,c.caoqi) union all select
cast(a.anjianmingcheng as varchar(100)) as anjianmingcheng,
cast(c.caiwumingcheng as varchar(100)) as caiwumingcheng,
cast(c.caiwubianhao as varchar(100)) as caiwubianhao,
case
when datediff(day,d.yujingTime,getdate())> 0 then '归还逾期'+cast(abs(datediff(day,d.yujingTime,getdate())) as varchar(50))+'天'
else cast(abs(datediff(day,d.yujingTime,getdate())) as varchar(50))+'天后归还逾期'
end as state,
d.yujingTime as tagtime
from SACW_CaiWuDiaoYongJiLu d
left join SACW_CaiWu c on c.Id=d.caiwuId
left join SACW_AnJian as a on c.anjianId=a.id
where d.jiazhijine>0 and getdate()> dateadd(day,-7,d.yujingTime) or d.caiwushuliang>0 and getdate()>dateadd(day,-7,d.yujingTime)
ALTER proc [dbo].[pr_get_time_limit] as DECLARE @TempTime datetime
SET @TempTime = DATEADD(DAY,7,GETDATE()) SELECT
a.anjianmingcheng as [anjianmingcheng],
t.cm as [caiwumingcheng],
t.cb as [caiwubianhao],
t.tagtime as [tagtime],
case
when t.orderby = 0 then
case
when t.timeSpan > 0 then '调用逾期'+cast(t.timeSpan as varchar(50))+'天'
--when t.timeSpan = 0 then '即将逾期'
else cast(abs(t.timeSpan) as varchar(50))+'天后调用逾期'
end
else
case
when t.timeSpan > 0 then '保存超期'+cast(t.timeSpan as varchar(50))+'天'
--when t.timeSpan = 0 then '即将超期'
else cast(abs(t.timeSpan) as varchar(50))+'天后保存超期'
end
end as [state] FROM (
select
c.anjianId as aid,
cast(c.caiwumingcheng as varchar(100)) as cm,
cast(c.caiwubianhao as varchar(100)) as cb,
datediff(day,d.yujingTime,getdate()) as timeSpan,
d.yujingTime as tagtime,
0 as orderby
from SACW_CaiWuDiaoYongJiLu d
left join SACW_CaiWu c on c.Id=d.caiwuId
where (d.jiazhijine>0 or d.caiwushuliang>0) and @TempTime > d.yujingTime union all select
c.anjianId as aid,
cast(c.caiwumingcheng as varchar(100)) as cm,
cast(c.caiwubianhao as varchar(100)) as cb,
datediff(day,c.caoqi,getdate()) as timeSpan,
c.caoqi as tagtime,
1 as orderby
from SACW_CaiWu c
where (c.jiazhijine>0 or c.kucunshuliang>0) and @TempTime > c.caoqi
) as t
left join SACW_AnJian as a on t.aid=a.id
order by t.orderby,t.timeSpan
SQL 语句中union all和order by同时使用的更多相关文章
- 【转载】SQL语句中Union和Union All的区别
在使用到SQL语句进行数据库查询的过程中,如果需要求两个数据集合的并集,一般会使用到联合查询关键字Union或者Union All,其实Union和Union All两者的使用有一定差别,查出来的数据 ...
- (转载)SQL语句中Group by语句的详细介绍
转自:http://blog.163.com/yuer_d/blog/static/76761152201010203719835 SQL语句中Group by语句的详细介绍 ...
- Mybatis中动态SQL语句中的parameterType不同数据类型的用法
Mybatis中动态SQL语句中的parameterType不同数据类型的用法1. 简单数据类型, 此时#{id,jdbcType=INTEGER}中id可以取任意名字如#{a,jdbcType ...
- 向已写好的多行插入sql语句中添加字段和值
#region 添加支款方式--向已写好的多行插入sql语句中添加字段和值 public int A_ZhifuFS(int diqu) { ; string strData = @"SEL ...
- sql 语句中使用条件判断case then else end
sql 语句中使用条件判断case then else end范例: SELECT les.[nLessonNo] FROM BS_Lesson AS les WHERE les.[sClassCod ...
- sql语句中获取datetime任何部分
sql语句中获取datetime的日期部分 sql语句中 经常操作操作datetime类型数据.今天在写一个存储过程的时候需要将 一个datetime的值的 日期部分提取出来.网上有许多这方面的介绍. ...
- sql语句:union
sql语句中,join,left join中,是将两个或多个表横向连接,而有时,我们需要将几个表或1个表纵向连接,甚至是连接自身,就比如,某些数据库脚本特别不合理的时候,但我们又不能说啥 ....郁 ...
- SQL语句中的乘号
在ADO中,我们需要在SQL语句中使用乘法运算,可是添加'*'以后执行程序总是会出错,这是因为‘*’与sql中的‘*’关键字重合了,所以编译会出错. 解决办法:将乘法运算放到sql语句外面,将结果放入 ...
- LINQ to SQL语句之Union All/Union/Intersect和Top/Bottom和Paging和SqlMethods
我们继续讲解LINQ to SQL语句,这篇我们来讨论Union All/Union/Intersect操作和Top/Bottom操作和Paging操作和SqlMethods操作 . Union Al ...
随机推荐
- Oracle第三方ado.net数据提供程序
原文地址:http://www.infoq.com/cn/news/2009/06/oracleclient_deprecated 这项决定有部分原因是基于目前Oracle的第三方ADO.NET数据提 ...
- 【C++】自绘控件基础
由于我们对控件的功能.外观的需求,公共控件并不能很好地满足这一点,所以我们就得自绘控件. 自绘控件有许多方法,比如:处理WM_PAINT消息,设置ownDraw风格,处理WM_CTLCOLOR消息,等 ...
- 要做linux运维工程师的朋友,必须要掌握以下几个工具才行 ...
要做linux运维工程师的朋友,必须要掌握以下几个工具才行 ... [复制链接] 发表于 2013-12-13 15:59 | 来自 51CTO网页 [只看他] 楼主 本人 ...
- PAT/简单模拟习题集(一)
B1001.害死人不偿命的(3n+1)猜想 (15) Description: 卡拉兹(Callatz)猜想: 对任何一个自然数n,如果它是偶数,那么把它砍掉一半:如果它是奇数,那么把(3n+1)砍掉 ...
- 从KRE到XRE:ASP.NET 5中正在消失的那些K
前几天写了篇博客ASP.NET 5中的那些K,刚把ASP.NET 5中的那些K搞明白了些,昨天发现微软正在让那些K消失. 首先是在 KRuntime 的git日志中发现的: * Runtime ren ...
- SQL提示介绍-强制并行
查询提示一直是个很有争议的东西,因为他影响了sql server 自己选择执行计划.很多人在问是否应该使用查询提示的时候一般会被告知慎用或不要使用...但是个人认为善用提示在不修改语句的条件下,是常用 ...
- AtomineerUtils爆破过程记录
AtomineerUtils是国外的一款用于生成源代码注释的一款VS插件,官方网站:http://www.atomineerutils.com/products.php 通过链接,可以看出这款插件的功 ...
- 我YY的一个移动应用运营模式
尽管自己也还是刚刚毕业不久的前端新人,但网上也不乏一些案例告诉我们有志不在年高,很多优秀的同龄人已经有了不错的成就,所以在切页面写onclick之余也在进行一些思考,前端程序员的出路到底在哪里? 一. ...
- c++实现冒泡排序
# include<iostream> #include<stdio.h> using namespace std; void maopao(int *list){ int i ...
- java线程与并发(二)
一般而言,线程通常有以下的这么几个状态: 创建状态:准备好了一个多线程操作对象 就绪状态:调用了start()方法,等待CPU调度 运行状态:执行run()方法,正在运行 阻塞状态:暂时停止执行,把资 ...