0
У меня есть таблица в SQL сервере, созданный с помощью этого кодаPivoting данных в SQL Server
CREATE TABLE t3
(`NAME` varchar(20), `VALUE` varchar(17));
INSERT INTO t3
(`NAME`, `VALUE`)
VALUES
('Name_Screened', 'johny bravo'),
('Name_Screened', 'JOHNY CHAVO'),
('Match_Type', 'Direct'),
('Match_Type', 'Direct'),
('Disposition', 'Successful'),
('Disposition', 'Successful'),
('Compliance_Approval', 'Yes'),
('Compliance_Approval', 'Yes'),
('Supporting_Documents', 'Lexix Nexis Match'),
('Supporting_Documents', 'WORD NET MATCH');
Я пытаюсь повернуть эти данные с помощью кода
SELECT PVT.Match_Type, PVT.Name_Screened,PVT.Disposition,PVT.Compliance_Approval,PVT.Supporting_Documents
FROM T3
PIVOT (
max(VALUE)
FOR NAME IN (Match_Type,Name_Screened,Disposition,Compliance_Approval,Supporting_Documents)
) PVT
, но я только получаю одну строку как этот
Match_Type - Name_Screened - Disposition - Compliance_Approval - Supporting_Documents
Direct - JOHNY CHAVO - Successful - Yes - WORD NET MATCH
я хочу две строки из 10 строк данных, но получить только один я думаю, что я не хватает на правильная функция агрегации только в точке поворота. Пожалуйста, помогите
большое спасибо. В тот момент, когда я получаю 15 репутации, я проголосую за это. –
Обновление, если вы не хотите потерять порядок своих данных и прекратить его смешивать с другими строками, добавьте поле идентификатора в исходную таблицу (в моем случае T3), затем используйте ORDER BY ID вместо ORDER BY VALUE в OVER , что вы говорите @giorgos –
@AashishKumar Этот новый столбец «ID» может заменить место вычисленного поля 'rn'. В этом смысле вы правы: добавив «ID», вы можете явно определить порядок и, следовательно, не полагаться на «VALUE». –