用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 展开
相当于把两句合到一起查出来的内容在一张表里。
select * from customer where result='待完成' order by enddate desc
select * from customer where result='完成' order by enddate asc 展开
2个回答
展开全部
我也是菜鸟,呵呵。但我想了一下,你可以尝试一下用创建临时表+游标的形式解决。虽然笨了点,但能够完成你的要求。
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 是不存在的,要不你就换个临时表名。
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 是不存在的,要不你就换个临时表名。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询