sql server (WINDOWS平台上强大的数据库平台) 在?取?料?是?用??的方式, 所以使用者?用 Order 子句?做?料 排列 , 在?篇文章?中咱叨要??一步介?按怎使用 Case ?做??的 排列 Order By 子句 咱先?看?一般使用 Select 的?果, 在?篇文章的例咱?使用 sql server (WI
sql server (WINDOWS平台上强大的数据库平台) 在?取?料?是?用??的方式, 所以使用者?用 Order 子句?做?料 排列 , 在?篇文章?中咱叨要??一步介?按怎使用 Case ?做??的 排列 Order By 子句 咱先?看?一般使用 Select 的?果, 在?篇文章的例咱?使用 sql server (WINDOWS平台上强大的数据库平台) 的北??料?, ?打? Query Analyzer, ?行 Use Northwind Go Select CompanyName, ContactName, ContactTitle From Customers ?行的?果可能是按照?料?入的??? 排列 , 哪是你要照自己的???排, 你叨需要用到 Order By 子句, 譬如?前一?例, 你哪是要照公司名?排叨要按呢做 Select CompanyName, ContactName, ContactTitle From Customers Order By CompanyName Case ?述 Case ?述?用?控制程式的流向, 所以咱叨要 利用 Case ?述?做 T-SQL 的??控制, ?看? Case 的?法 Case When Then [...n] [Else ] 光看?法不?, ?在用一?例???一下, 同款地咱?是用北??料?, 假?咱?要??? (Employees) ?料表中的英文?呼改做台?式, 可以按呢做 select FirstName, TitleOfCourtesy, CourtesyInTC = Case TitleOfCourtesy When 'Ms.' Then '水姑娘' When 'Dr.' Then '博士博' When 'Mr.' Then '先仔' When 'Mrs.' Then '女士' Else '先生/小姐' End From employees ?? 排列 了解了基本?法後咱?就可以?始??按怎 利用 Order By 加上 Case ?述?做??的?料 排列 Declare @OrderKey TinyInt Set @OrderKey = 2 Select CompanyName, ContactName, ContactTitle From Customers Order By Case When @OrderKey = 1 Then CompanyName When @OrderKey = 2 Then ContactName Else ContactTitle End 不???像?不太?用, 至少在 ASP 中, 所以接下?咱?做一???程序 Create Procedure sp_SelectCustomersDynamicOrder @OrderKey = Null As Select CompanyName, ContactName, ContactTitle From Customers Order By Case When @OrderKey = 1 Then CompanyName When @OrderKey = 2 Then ContactName Else ContactTitle End ?在你就可以在直接呼叫?? Stored Procedure exec sp_SelectCustomersDynamicOrder exec sp_SelectCustomersDynamicOrder 1 exec sp_SelectCustomersDynamicOrder 2 按呢是不是友善多了 希望?篇文章?你有?助!查看更多关于利用Case?述做SQL的??排列的详细内容...
声明:本文来自网络,不代表【好得很程序员自学网】立场,转载请注明出处:http://www.haodehen.cn/did160053