SQL SERVER 2008 select 带大小写的语句

SQL SERVER 2008 select statement with case

我的 VB6 应用程序中有一个 Select 语句....

这是它的样子......

Dim str As string

str = "SELECT CompID, Department from tblCompanies " & _ 
      "Where CompID in (123, 234, 345, 456) " & _
      "Order by CompID "

所以我在这里尝试做的是向 WHERE 子句添加一个 CASE WHEN 语句 - 基本上我希望根据 COMPID 向每个部门名称添加一个字符串。所以我需要指定这些是我想要 select 的 COMPID,然后我想做类似

的事情
 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

试试这个:

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 "

改成,

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 "