Arhn - архитектура программирования

Имя столбца FirstName, указанное в операторе PIVOT, конфликтует с существующим именем столбца в аргументе PIVOT.

Я получаю следующее сообщение об ошибке, когда пытаюсь заменить null на zero.

Имя столбца «jan», указанное в операторе PIVOT, конфликтует с существующим именем столбца в аргументе PIVOT.

Запрос ниже:

select * from(select isnull(jan,0),isnull(feb,0),sum(data) as amount )as p
pivot(
sum(amount) for month in(jan,feb)) as piv

  • Можете ли вы поставить образцы данных + ожидаемые результаты? 22.06.2015
  • @ManoJohnbritto - пожалуйста, отредактируйте свой вопрос, чтобы добавить образцы данных и ожидаемые результаты 22.06.2015

Ответы:


1

Вы можете использовать CTE для определения нулевых значений, а затем свернуть данные примерно так:

;WITH t
AS (
    SELECT isnull(jan, 0) AS jan
        ,isnull(feb, 0) AS feb
        ,sum(data) AS amount
    FROM your_table --change this to match your table name
    GROUP BY jan,feb
    )
SELECT *
FROM (
    SELECT t.jan
        ,t.feb
        ,t.amount
    FROM t
    )
pivot(sum(amount) FOR [month] IN (
            jan
            ,feb
            )) AS piv
22.06.2015
  • Спасибо Непальский, зачем использовать с 22.06.2015
  • Предложение WITH помогает вам построить запрос и выполнить всю нулевую логику (в вашем случае), которую затем можно использовать во второй части запроса без необходимости выполнять какие-либо манипуляции с данными. Если вам интересно, вот дополнительная информация об использовании CTE на сервере sql. simple-talk.com/sql/t -sql-programming/sql-server-cte-basics 22.06.2015

  • 2

    Это похоже на то, что ошибка говорит, что ваши имена столбцов неверны, потому что они будут прочитаны как неназванные. Дайте им соответствующие имена:

    select isnull(Jan,0), isnull(feb,0) from(select sum(data) as amount, [month] 
    from yourtable group by [month] )as p
    pivot(
    sum(amount) for [month] in(jan,feb)) as piv
    
    22.06.2015
  • Я думаю, что использование месяца вызывает хаос, поскольку это зарезервированное слово. Это столбец в вашей таблице? 22.06.2015
  • Вам также нужно выбрать месяц в первом выборе или то, что вы переименовали в месяц. 22.06.2015
  • У вас есть идея заменить ноль на ноль в этом запросе 22.06.2015
  • Я обновил свой код, чтобы он работал, но предполагается, что [месяц] будет содержать jan или feb, если это не то, что вы хотите, вам нужно будет обновить свой вопрос, указав ожидаемые результаты. 22.06.2015
  • Большое спасибо, Бэррон, 22.06.2015
  • Новые материалы

    Коллекции публикаций по глубокому обучению
    Последние пару месяцев я создавал коллекции последних академических публикаций по различным подполям глубокого обучения в моем блоге https://amundtveit.com - эта публикация дает обзор 25..

    Представляем: Pepita
    Фреймворк JavaScript с открытым исходным кодом Я знаю, что недостатка в фреймворках JavaScript нет. Но я просто не мог остановиться. Я хотел написать что-то сам, со своими собственными..

    Советы по коду Laravel #2
    1-) Найти // You can specify the columns you need // in when you use the find method on a model User::find(‘id’, [‘email’,’name’]); // You can increment or decrement // a field in..

    Работа с временными рядами спутниковых изображений, часть 3 (аналитика данных)
    Анализ временных рядов спутниковых изображений для данных наблюдений за большой Землей (arXiv) Автор: Рольф Симоэс , Жильберто Камара , Жильберто Кейрос , Фелипе Соуза , Педро Р. Андраде ,..

    3 способа решить квадратное уравнение (3-й мой любимый) -
    1. Методом факторизации — 2. Используя квадратичную формулу — 3. Заполнив квадрат — Давайте поймем это, решив это простое уравнение: Мы пытаемся сделать LHS,..

    Создание VR-миров с A-Frame
    Виртуальная реальность (и дополненная реальность) стали главными модными терминами в образовательных технологиях. С недорогими VR-гарнитурами, такими как Google Cardboard , и использованием..

    Демистификация рекурсии
    КОДЕКС Демистификация рекурсии Упрощенная концепция ошеломляющей О чем весь этот шум? Рекурсия, кажется, единственная тема, от которой у каждого начинающего студента-информатика..