Я хочу объединить данные в кросс-таблицу, но нужно исключить фиктивные данные, введенные с помощью 99 - PullRequest
1 голос
/ 20 марта 2012
) PivotedTableSource
PIVOT
(
    SUM(AnswerNumberValue)
    FOR QuestionCode IN (
        [Item1], 
        [Item2], 
        [Item3], 
        [Item4]. . . 

Мне нужно заменить AnswerNumberValue на Null, когда AnswerNumberValue = 99

1 Ответ

1 голос
/ 20 марта 2012

Вы можете использовать функцию NULLIF:

EDIT: К сожалению, я ошибся в возможности сделать NULLIF в операторе PIVOT. Единственное решение, которое я вижу, - это обработать это в SELECT поворотных результатов:

SELECT
    NULLIF([Item1], 99) AS [Item1], 
    NULLIF([Item2], 99) AS [Item2], 
    NULLIF([Item3], 99) AS [Item3], 
    NULLIF([Item4], 99) AS [Item4]... 
(
    Your Source Query...
) PivotedTableSource
PIVOT
(
    SUM(AnswerNumberValue)
    FOR QuestionCode IN (
        [Item1], 
        [Item2], 
        [Item3], 
        [Item4]. . . 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...