Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Order by case in dbCommand.CommandText
- Protected Sub AddData()
- Dim cn As OleDbConnection = New OleDbConnection(ConfigurationManager.AppSettings("ConnectionString"))
- cn.Open()
- Dim dbCommand As New OleDbCommand
- dbCommand.Connection = cn
- dbCommand.CommandText = "SELECT * from tblPosts ORDER BY CASE PriorityLevel WHEN 'Red' then 1 when 'Orange' then 2 ELSE 3 END"
- Try
- dbCommand.ExecuteNonQuery()
- Dim objdatareader As OleDbDataReader = dbCommand.ExecuteReader()
- While objdatareader.Read()
- Dim PostID As Integer = CInt(objdatareader("ID"))
- PopulateImages(PostID, cn)
- PopulateCategories(PostID, cn)
- rssFeed.AddItem(objdatareader, ImageList, CategoryList)
- ImageList.Clear()
- CategoryList.Clear()
- End While
- objdatareader.Close()
- Catch myerror As OleDbException
- Dim strErr As String = "There was an error updating the database: " & myerror.Message
- End
- declare @tblPosts table(
- PriorityLevel varchar(10)
- )
- insert into @tblPosts
- values('Orange'),('Red'),('Green'),('Orange')
- SELECT * from @tblPosts ORDER BY
- CASE PriorityLevel WHEN 'Red' then 1
- when 'Orange' then 2
- ELSE 3 END
- declare @tblPosts table(
- PriorityLevel varchar(10)
- )
- insert into @tblPosts
- values('Orange'),('Red'),('Green'),('Orange')
- SELECT * from @tblPosts ORDER BY CASE
- PriorityLevel WHEN 'Red' then 1
- when 'Orange' then 2
- ELSE 3 END PriorityLevel
- SELECT tblPosts.*
- FROM tblPosts
- ORDER BY IIf(PriorityLevel='Red',1,IIf(PriorityLevel='Orange',2,3));
- SELECT DISTINCT
- tblPosts.PriorityLevel,
- IIf(PriorityLevel='Red',1,IIf(PriorityLevel='Orange',2,3)) AS order_by
- INTO PriorityLevelOrder
- FROM tblPosts;
- SELECT tblPosts.*
- FROM
- tblPosts INNER JOIN PriorityLevelOrder
- ON tblPosts.PriorityLevel = PriorityLevelOrder.PriorityLevel
- ORDER BY PriorityLevelOrder.order_by;
Add Comment
Please, Sign In to add comment