Sql 查询技巧 某例 关于in的排序
在有时候使用in语句查询的时候,in语句中很多项,如15项,自己同时想让查询出来结果能够按照in语句中该字段顺序查询出来。
而Sql Server是默认按照自己的顺序排列出来的,所以一定会把结果集重新排序的。
而如果使用case when的方法虽然很繁琐,但也是可以实现的
select item_code,apply_dept,keeper_ename from item_master where
item_code in(
'BES.F.F.0006.N00',
'BQS.F.F.0076.N00',
'BQS.F.F.0079.N00',
'BQS.F.F.018B.F00',
'BQS.F.F.00BM.N00',
'BQS.F.F.00BX.N00',
'BQS.F.F.00CZ.N00',
'BES.F.F.0008.N00',
'BQS.Q.A.08FY.N00',
'BQS.F.F.00B0.N00',
'BQS.F.F.00D8.N00')
order by case item_code
when 'BES.F.F.0006.N00' then 1
when 'BQS.F.F.0076.N00' then 2
when 'BQS.F.F.0079.N00' then 3
when 'BQS.F.F.018B.F00' then 4
when 'BQS.F.F.00BM.N00' then 5
when 'BQS.F.F.00BX.N00' then 6
when 'BQS.F.F.00CZ.N00' then 7
when 'BES.F.F.0008.N00' then 8
when 'BQS.Q.A.08FY.N00' then 9
when 'BQS.F.F.00B0.N00' then 10
when 'BQS.F.F.00D8.N00' then 11
end
相关文档:
系统环境:Windows 7
软件环境:Visual C++ 2008 SP1 +SQL Server 2005
本次目的:编写一个航空管理系统
这是数据库课程设计的成果,虽然成绩不佳,但是作为我用VC++ 以来编写的最大程序还是传到网上,以供参考。用VC++ 做数据库设计并不容易,但也不是不可能。以下是我的程序界面,后面 ......
Oracle的sql*plus是与oracle进行交互的客户端工具。在sql*plus中,可以运行sql*plus命令与sql*plus语句。
我们通常所说的DML、DDL、DCL语句都是sql*plus语句,它们执行完后,都可以保存在一个被称为sql buffer的内存区域中,并且只能保存一条最近执行的sql语句,我们可以对保存在sql buffer中的sql 语句进行 ......
Window 2003 SQL2000远程连接的问题解决办法2008年10月07日 星期二 15:31一 看ping 服务器IP能否ping通。
这个实际上是看和远程sql server 2000服务器的物理连接是否存在。如果不行,请检查网络,查看配置,当然得确保远程sql server 2000服务器的IP拼写正确。
二 在Dos或命令行下输入telnet 服务器IP 端口,看 ......
原址 http://technet.microsoft.com/ja-jp/library/cc411406.aspx
看了一篇SQL2005关于Transact-SQL的强化技能的介绍,觉得很有用处,简单总结了一下。
(一)数据库做成
USE tempdb – 或者新建一个DB
CREATE TABLE SpeakerStats
(
speaker &n ......
set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
go
ALTER function [dbo].[Get_StrArrayStrOfIndex]
(
@str varchar(1024), --要分割的字符串
@split varchar(10), --分隔符号
@index int --取第几个元素
)
returns varchar(1024)
as
begin
declare @location int
de ......