2011-10-07 123 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佔位符中的值可能是完成此操作的最簡單的方法。 –