select *
from table
order by 是否验证过 desc,
( case when 是否验证过='是'
then cast(日期 as varchar(20))
else 商品ID
end
) desc
解决方案 »
- DataGridView使用
- 一般人不能解决的问题 关于 关联查询 select inner join
- 存儲過程中事務的使用問題
- SQL Server可不可以自定义聚合函数?
- 紧急求救:我xp下装的sql server2000个人版,连接问题
- 配置分发服务器出错 8512 将截断字符串或二进制数据 解决了马上给分
- 大神,求解决,关于SQL拼凑字符串的问题,速结贴
- sql的全文检索为什么有的中文可以查到,有的查不到?
- Come in
- sqlserver2005导入excel的问题(急——)
- 如何用SQL语句显示数据库中所有表的名称;和显示一个已知名称的表中所有字段的名称。解决问题就给分!!!
- 各位大虾帮帮忙
union
select * from (select * from yourtable where 是否验证过='否' order by 商品ID desc) b
order by 是否验证过 desc
union all
select * from (select * from yourtable where 是否验证过='否' order by 商品ID desc) b
order by 是否验证过 desc
select * from t
order by 是否验证过 desc,
case 是否验证过 when 1 then convert(varchar(30),日期,120) else '9999-99-99' end,
case 是否验证过 when 0 then id else 0 end
order by case 是否验证过 when '是' then 0 else 1 end,
case 是否验证过 when '是' then 日期 end,
case 是否验证过 when '否' then 商品ID end
INSERT INTO #TB (SPID,BJ,Date)
Select 1,0,'2004-5-25'
UNION ALL Select 2,1,'2004-4-25'
UNION ALL Select 3,0,'2004-6-25'
UNION ALL Select 4,1,'2004-4-26'
UNION ALL Select 5,0,'2004-4-27'
Select * From #TB
SELECT * FROM
(Select TOP 100 PERCENT * From #TB
Where BJ=1
Order By Date) a
UNION ALL
Select * FROM
(Select TOP 100 PERCENT * From #TB
Where BJ=0
Order By SPID) bDrop Table #TB结果1 0 2004-05-25 00:00:00.000
2 1 2004-04-25 00:00:00.000
3 0 2004-06-25 00:00:00.000
4 1 2004-04-26 00:00:00.000
5 0 2004-04-27 00:00:00.000
---
2 1 2004-04-25 00:00:00.000
4 1 2004-04-26 00:00:00.000
1 0 2004-05-25 00:00:00.000
3 0 2004-06-25 00:00:00.000
5 0 2004-04-27 00:00:00.000
Select * From #TB
order by
case bj when 1 then bj end desc,
case BJ when 1 then date end,
case bj when 0 then spid end---
2 1 2004-04-25 00:00:00.000
4 1 2004-04-26 00:00:00.000
1 0 2004-05-25 00:00:00.000
3 0 2004-06-25 00:00:00.000
5 0 2004-04-27 00:00:00.000
不过请问一下TABLE前面加个#是什么意思?