Сообщение об ошибке «Сводные столбцы должны быть сопоставимы» - PullRequest
1 голос
/ 08 апреля 2019

У меня есть простой код, где я пытаюсь повернуть некоторые данные. Я получаю сообщение об ошибке «Столбцы столбца должны быть сопоставимы. Тип столбца« MX »- это« текст », который не сопоставим.»

Это для SQL Server 2017.

Select [PROP],M1,M2,M3 from 

(select Prop,Entry, MX from GA_Financial.dbo.tblSAP left join tblMX on GA_Financial.dbo.tblSAP.MDY = tblMX.Datefield) as Tab1

PIVOT
 (
 sum(entry) for MX in (M1,M2,M3)) as TAb2

1 Ответ

0 голосов
/ 08 апреля 2019

Это еще одна причина для того, чтобы заменить эти устаревшие типы данных на типы, введенные в 2005 году (14 лет назад).Самое простое решение - преобразовать / преобразовать столбец в сопоставимый тип данных.

SELECT [PROP],M1,M2,M3 
FROM (SELECT Prop,
            Entry,  
            CAST( MX AS varchar(max)) AS MX 
    FROM GA_Financial.dbo.tblSAP AS S
    LEFT JOIN tblMX AS M on S.MDY = M.Datefield) as Tab1
PIVOT(
    SUM(entry) FOR MX  IN (M1,M2,M3)) as TAb2;

Всегда используйте псевдонимы таблиц, это важно при выполнении запросов к базе данных, так как имена столбцов, состоящие из 4 и 3 частей,также не рекомендуется.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...