SQL SERVER 2008 SELECT语句的情况下
问题描述:
我在VB6应用程序有一个Select语句....SQL SERVER 2008 SELECT语句的情况下
这里是什么样子.....
Dim str As string
str = "SELECT CompID, Department from tblCompanies " & _
"Where CompID in (123, 234, 345, 456) " & _
"Order by CompID "
那么我tryign这里要做的是添加一个CASE WHEN语句的WHERE子句 - 基本上我正在寻找添加一个字符串到每个部门名称,具体取决于COMPID。所以,我需要指定这些都是COMPID的,我要选择的话,我想这样做soemthing像
Case when CompID = 123 Then ----ADD "GC" to that Department Name
我想我需要之前,我打开我的记录与要做到这一点
rs.open str, g_CN, adOpenStatic
因为一旦打开它,当我尝试编辑它时,似乎给我带来了错误。
所有的一切,如果我的记录是这样的......
Accounting
Finance
IT
R&D
我想使它看起来像
"GC" - Accounting
"GC" - Finance
"BP" - IT
"DC" - R&D
答
更改为,
Dim str As string
str = "SELECT CompID, CASE WHEN CompID IN (123,234) THEN 'GC' " & _
" WHEN CompID = 345 THEN 'IT' " & _
" WHEN CompID = 456 THEN 'DC' " & _
" ELSE '' END + ' - ' + Department AS Department from tblCompanies " & _
"Where CompID in (123, 234, 345, 456) " & _
"Order by CompID "
答
试试这个:
str = "SELECT CompID, CASE WHEN CompID = 123 THEN '""GC"" - ' ELSE '' END + Department As Department from tblCompanies " & _
"Where CompID in (123, 234, 345, 456) " & _
"Order by CompID "
+0
pelase请参阅编辑,谢谢!这似乎比我想象的要难一些 – BubbaSparxx
那么你真的需要过滤吗?我正在阅读的方式是,你只是想在选择。 –