2011-10-07 106 views
0

我有一个简单的存储过程,即为SS报告提取数据。其中一列仅使用字母作为值。我想详细说明该报告所代表的字母。程序看起来像这样...SQL Server更改列的值

ALTER PROCEDURE RPT_MYREPORT 
{ 
@PID  INT=1234567 
} 

AS BEGIN 

SELECT 
    SSN, 
    DOB, 
    PID, 
    Name, 
    MaritalStatus 
FROM 
    Customers 
END 

很明显,更多的是它,但多数民众赞成基本设置。婚姻状况是单身的“S”或已婚的“M”。我希望为我的报告阐述这些价值观。任何人都知道吗?

回答

2

将查找表添加到包含要显示的字母和名称/描述的数据库。在将数据提供给报表的查询中将您的主表加入到此表中。

E.g.为查找表:

CREATE TABLE Marital_Status (
    marital_status_code char(1) PRIMARY KEY, 
    marital_status_name char(7) 
) 

那么如果你设置它也可以作为数据验证时,插入新行的主要和查找表之间的关系添加查找数据

INSERT Marital_Status(marital_status_code, marital_status_name) 
VALUES ('S', 'Single') 
INSERT Marital_Status(marital_status_code, marital_status_name) 
VALUES ('M', 'Married') 

2

您有2种选择:

  • 转换值到字内部SP(case MaritalStatus when 'S' then 'Single' when 'M' then 'Married'例如)
  • 转换值,以字的报告定义(表达基于IIf函数)
+0

转换内Report占位符中的值可能是完成此操作的最简单的方法。 –