Как отобразить все данные с нулями с помощью Pivot [duplicate]

В обоих случаях да, это может быть, и это поведение по умолчанию для IE и Edge.

Другие ответы добавляют ценную информацию, но в основном описывают поведение в Chrome. важно отметить, что поведение в IE совершенно иное. Очень полезный тестовый скрипт CMBuckley демонстрирует, что в (скажем) Chrome куки не распределяются между корневыми и субдоменами, когда ни один домен не указан. Однако тот же тест в IE показывает, что они являются общими. Этот пример IE ближе к описанию перехвата в ссылке www-or-not-www в CMBuckley. Я знаю, что это так, потому что у нас есть система, которая использовала различные cookie-файлы cookie как для корня, так и для субдомена. Все работало нормально, пока кто-то не обратился к нему в IE, и две системы сражались над тем, чей сеанс cookie выиграл, пока мы не взорвали кеш.

3
задан Rohan 8 October 2015 в 14:01
поделиться

1 ответ

Вам просто нужно дать каждому имени номер строки в зависимости от их профессии и порядка в алфавитном порядке .. затем включить этот номер строки в сводный запрос.

CREATE TABLE Occupations (
     NAME VARCHAR(MAX),
     Occupation VARCHAR(MAX)
    )
INSERT  INTO Occupations
VALUES
        ('Samantha','Doctor'),
        ('Julia','Actor'),
        ('Maria','Actor'),
        ('Meera','Singer'),
        ('Ashley','Professor'),
        ('Ketty','Professor'),
        ('Christeen','Professor'),
        ('Jane','Actor'),
        ('Jenny','Doctor'),
        ('Priya','Singer');

SELECT
    [Doctor],
    [Professor],
    [Singer],
    [Actor]
FROM
    (SELECT 
         ROW_NUMBER() OVER (PARTITION BY Occupation ORDER BY Name) rn,
         [Name],
         [Occupation] 
     FROM 
         Occupations
    ) AS source 
PIVOT
    ( MAX([Name]) FOR [occupation] IN ([Doctor],[Professor],[Singer],[Actor]) ) as pvt
ORDER BY rn


DROP TABLE Occupations
8
ответ дан JamieD77 22 August 2018 в 00:03
поделиться
  • 1
    Вместо создания CTE вы можете просто перечислить столбцы в select вместо использования & quot; select * & quot; – James Z 8 October 2015 в 14:12
  • 2
    @JamesZ true .. Спасибо .. – JamieD77 8 October 2015 в 14:13
Другие вопросы по тегам:

Похожие вопросы: