【发布时间】:2010-08-17 21:47:24
【问题描述】:
我正在尝试更改当前显示的 Transact-SQL (MS SQL Server) 报告的结果:
CompanyA DVCE3
CompanyB DVCE2
CompanyC DVCE3
CompanyD NULL
CompanyE DVCE3
我希望它改为显示:
CompanyA 36
CompanyB 24
CompanyC 36
CompanyD
CompanyE 36
我确定这个问题的答案是使用某种 if/else 语句或 case 语句,但我不确定 T-SQL 中的语法或它在我的查询中的位置。
我的基本查询如下所示:
SELECT
companyName
, term
FROM tableA a
JOIN tableB b on a.id = b.id ...
WHERE
customerNumber IS NOT NULL
AND companyName != 'TEST'... ;
感谢您的帮助。
【问题讨论】:
-
值 36 和 24 是否来自特定列(可能在另一个表中?),还是应该将它们硬编码到 SQL 中?
-
它们应该是硬编码的 - 24 和 36 不是从另一列中取出的,好问题。这只是一个更易读的结果(DVCE3 代表 3 年期限,或 36 个月)。
标签: sql sql-server tsql syntax