SQL Server Изменить значение столбца - PullRequest
0 голосов
/ 08 октября 2011

У меня есть простая хранимая процедура, которая извлекает данные для отчета SS. Один из столбцов использует только букву для значения. Я хотел бы изложить слово, которое буква представляет для отчета. Процедура выглядит примерно так ...

ALTER PROCEDURE RPT_MYREPORT
{
@PID     INT=1234567
}

AS BEGIN

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

Очевидно, это еще не все, но это базовая настройка. Семейное положение - это «S» для одиноких или «M» для женатых. Я хотел бы изложить эти значения в своем отчете. Кто-нибудь знает как?

Ответы [ 2 ]

2 голосов
/ 08 октября 2011

У вас есть 2 варианта:

  • Преобразовать значение в слово внутри SP (например, case MaritalStatus when 'S' then 'Single' when 'M' then 'Married')
  • Преобразовать значение в слово в определении отчета (выражение на основе функции iif)
2 голосов
/ 08 октября 2011

Добавьте таблицу поиска в вашу базу данных, содержащую букву и имя / описание, которое вы хотите отобразить.Присоедините к этому основную таблицу в запросе, предоставляющем данные для отчета.

Например, для таблицы поиска:

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')

Если вы установите связь между основной и справочной таблицами, она также служит для проверки данных при вставке новых строк.

...