用SQL语句实现一部分内容正序,一部分内容倒序

一张表,要求用SQL语句查询出来的内容,如果result列是‘未完成’按enddate列倒序,如果是result列是‘完成’按enddate列倒序。相当于把两句合到一起查... 一张表,要求用SQL语句查询出来的内容,如果result列是‘未完成’按enddate列倒序,如果是result列是‘完成’按enddate列倒序。
相当于把两句合到一起查出来的内容在一张表里。
select * from customer where result='待完成' order by enddate desc
select * from customer where result='完成' order by enddate asc
展开
 我来答
张怀521
2012-02-29
知道答主
回答量:11
采纳率:0%
帮助的人:11.8万
展开全部
我也是菜鸟,呵呵。但我想了一下,你可以尝试一下用创建临时表+游标的形式解决。虽然笨了点,但能够完成你的要求。
select * into #Templtable1
from customer
where result='待完成'
order by enddate desc

DECLARE @变量 nvarchar(10) --定义你表里的字段,有几个定义几个
DECLARE MSTemp_customer_cursor CURSOR FOR
SELECT *
FROM customer
where result='完成' order by enddate asc

Open MSTemp_customer_cursor

FETCH NEXT FROM MSTemp_customer_cursor
INTO @变量

WHILE @@FETCH_STATUS = 0

BEGIN
INSERT INTO #TempTable1 Values(@变量)

FETCH NEXT FROM MSTemp_customer_cursor
INTO @变量

END

CLOSE MSTemp_customer_cursor
DEALLOCATE MSTemp_customer_cursor

Select * from #TempTable1
Go
不知道行不行,你调试一下。
前提:你的临时表 #TempTable1 是不存在的,要不你就换个临时表名。
yjx_xiaoxin
2012-02-29 · TA获得超过6702个赞
知道大有可为答主
回答量:4618
采纳率:50%
帮助的人:2496万
展开全部
两个语句中间加一个union语句就是了
select * from customer where result='待完成' order by enddate desc
union
select * from customer where result='完成' order by enddate asc
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式