在SQL Server中透视非数字数据表
我对SQL Server相当陌生。我试图将此表的轴转到在SQL Server中透视非数字数据表,sql,sql-server,sql-server-2008,Sql,Sql Server,Sql Server 2008,我对SQL Server相当陌生。我试图将此表的轴转到零件号,以便行和列可以互换。请注意,Part\u Number是如何重复的,IBA\u NAME列具有所有属性 PART_NUMBER IBA_NAME PART_REVISION PART_ITERATION PART_NAME IBAVALUE 161-83516-0014-M00 SPEED_GRADE A 3 MEM 32MX16 DDR2-533 266MHz 1.8V FBGA-84 PROMOS -
零件号
,以便行和列可以互换。请注意,Part\u Number
是如何重复的,IBA\u NAME
列具有所有属性
PART_NUMBER IBA_NAME PART_REVISION PART_ITERATION PART_NAME IBAVALUE
161-83516-0014-M00 SPEED_GRADE A 3 MEM 32MX16 DDR2-533 266MHz 1.8V FBGA-84 PROMOS -
161-83516-0014-M00 JEDEC_TYPE A 3 MEM 32MX16 DDR2-533 266MHz 1.8V FBGA-84 PROMOS -
161-83516-0014-M00 NV_LEAD_TIME A 3 MEM 32MX16 DDR2-533 266MHz 1.8V FBGA-84 PROMOS -
161-83516-0014-M00 VOLUME A 3 MEM 32MX16 DDR2-533 266MHz 1.8V FBGA-84 PROMOS -
161-83516-0014-M00 POW A 3 MEM 32MX16 DDR2-533 266MHz 1.8V FBGA-84 PROMOS -
161-83516-0014-M00 LIBRARY A 3 MEM 32MX16 DDR2-533 266MHz 1.8V FBGA-84 PROMOS N/A
161-83516-0014-M00 Valid_To A 3 MEM 32MX16 DDR2-533 266MHz 1.8V FBGA-84 PROMOS 1111-11-11 00:00:00
161-83516-0014-M00 NV_COSTS A 3 MEM 32MX16 DDR2-533 266MHz 1.8V FBGA-84 PROMOS -
161-83516-0014-M00 ZZ_Item_Type A 3 MEM 32MX16 DDR2-533 266MHz 1.8V FBGA-84 PROMOS Part: Mem (Concept)
161-83516-0014-M00 NV_PREFERENCE A 3 MEM 32MX16 DDR2-533 266MHz 1.8V FBGA-84 PROMOS 0
161-83516-0014-M00 SPARE A 3 MEM 32MX16 DDR2-533 266MHz 1.8V FBGA-84 PROMOS ROHS, PROMOS
161-83516-0014-M00 HEIGHT A 3 MEM 32MX16 DDR2-533 266MHz 1.8V FBGA-84 PROMOS -
161-83516-0014-M00 NAME A 3 MEM 32MX16 DDR2-533 266MHz 1.8V FBGA-84 PROMOS -
161-83516-0014-M00 PACK_TYPE A 3 MEM 32MX16 DDR2-533 266MHz 1.8V FBGA-84 PROMOS -
161-83516-0014-M00 QUALIFIER A 3 MEM 32MX16 DDR2-533 266MHz 1.8V FBGA-84 PROMOS -
161-83516-0014-M00 PTF_NAME A 3 MEM 32MX16 DDR2-533 266MHz 1.8V FBGA-84 PROMOS -
161-83516-0014-M00 Parts A 3 MEM 32MX16 DDR2-533 266MHz 1.8V FBGA-84 PROMOS Part: Mem (Concept)
161-83516-0014-M00 SPEED_GRADE A 4 MEM 32MX16 DDR2-533 266MHz 1.8V FBGA-84 PROMOS -
161-83516-0014-M00 JEDEC_TYPE A 4 MEM 32MX16 DDR2-533 266MHz 1.8V FBGA-84 PROMOS -
161-83516-0014-M00 NV_LEAD_TIME A 4 MEM 32MX16 DDR2-533 266MHz 1.8V FBGA-84 PROMOS -
161-83516-0014-M00 VOLUME A 4 MEM 32MX16 DDR2-533 266MHz 1.8V FBGA-84 PROMOS -
161-83516-0014-M00 POW A 4 MEM 32MX16 DDR2-533 266MHz 1.8V FBGA-84 PROMOS -
161-83516-0014-M00 LIBRARY A 4 MEM 32MX16 DDR2-533 266MHz 1.8V FBGA-84 PROMOS N/A
161-83516-0014-M00 Valid_To A 4 MEM 32MX16 DDR2-533 266MHz 1.8V FBGA-84 PROMOS 1111-11-11 00:00:00
161-83516-0014-M00 NV_COSTS A 4 MEM 32MX16 DDR2-533 266MHz 1.8V FBGA-84 PROMOS -
161-83516-0014-M00 ZZ_Item_Type A 4 MEM 32MX16 DDR2-533 266MHz 1.8V FBGA-84 PROMOS Part: Mem (Concept)
161-83516-0014-M00 NV_PREFERENCE A 4 MEM 32MX16 DDR2-533 266MHz 1.8V FBGA-84 PROMOS 0
161-83516-0014-M00 SPARE A 4 MEM 32MX16 DDR2-533 266MHz 1.8V FBGA-84 PROMOS ROHS, PROMOS
161-83516-0014-M00 HEIGHT A 4 MEM 32MX16 DDR2-533 266MHz 1.8V FBGA-84 PROMOS -
161-83516-0014-M00 NAME A 4 MEM 32MX16 DDR2-533 266MHz 1.8V FBGA-84 PROMOS -
161-83516-0014-M00 PACK_TYPE A 4 MEM 32MX16 DDR2-533 266MHz 1.8V FBGA-84 PROMOS -
161-83516-0014-M00 QUALIFIER A 4 MEM 32MX16 DDR2-533 266MHz 1.8V FBGA-84 PROMOS -
161-83516-0014-M00 PTF_NAME A 4 MEM 32MX16 DDR2-533 266MHz 1.8V FBGA-84 PROMOS -
161-83516-0014-M00 Parts A 4 MEM 32MX16 DDR2-533 266MHz 1.8V FBGA-84 PROMOS Part: Mem (Concept)
161-83516-0014-M00 SPEED_GRADE A 5 MEM 32MX16 DDR2-533 266MHz 1.8V FBGA-84 PROMOS -
我希望数据看起来像这样-基于IBA\u NAME
进行克隆化:
PART_NUMBER NAME PACK_TYPE QUALIFIER PTF_NAME SPEED_GRADE JEDEC_TYPE NV_LEAD_TIME VOLUME POW LIBRARY
到目前为止,我尝试编写以下代码,但没有成功:
SELECT TOP (1000)
[PART_NUMBER],
[PART_NAME], [PART_REVISION], [PART_ITERATION]
FROM
[PDPDATAMART].[dbo].[BI_PDP_partclass_d]
PIVOT
(MIN([VALUE])
FOR [PART_NUMBER] IN ([PART_NAME])
) AS p
谁能概述一下我做错了什么,以及我如何解决这个问题。非常感谢您的帮助:)这正是您想要的,只需删除您不需要的数据透视列,因为我刚刚做了一个快速而肮脏的操作,并在IBA_名称中包含了所有值: 样本数据:
IF OBJECT_ID('tempdb..#temp') IS NOT NULL
DROP TABLE #temp;
CREATE TABLE #temp(PART_NUMBER VARCHAR(50)
, IBA_NAME VARCHAR(50)
, PART_REVISION VARCHAR(50)
, PART_ITERATION VARCHAR(50)
, PART_NAME VARCHAR(50)
, IBAVALUE VARCHAR(50));
INSERT INTO #temp
VALUES
('161-83516-0014-M00','SPEED_GRADE','A',3,'MEM 32MX16 DDR2-533 266MHz 1.8V FBGA-84 PROMOS','-'),
('161-83516-0014-M00','JEDEC_TYPE','A',3,'MEM 32MX16 DDR2-533 266MHz 1.8V FBGA-84 PROMOS','-'),
('161-83516-0014-M00','NV_LEAD_TIME','A',3,'MEM 32MX16 DDR2-533 266MHz 1.8V FBGA-84 PROMOS','-'),
('161-83516-0014-M00','VOLUME','A',3,'MEM 32MX16 DDR2-533 266MHz 1.8V FBGA-84 PROMOS','-'),
('161-83516-0014-M00','POW','A',3,'MEM 32MX16 DDR2-533 266MHz 1.8V FBGA-84 PROMOS','-'),
('161-83516-0014-M00','LIBRARY','A',3,'MEM 32MX16 DDR2-533 266MHz 1.8V FBGA-84 PROMOS','N/A'),
('161-83516-0014-M00','Valid_To','A',3,'MEM 32MX16 DDR2-533 266MHz 1.8V FBGA-84 PROMOS','1111-11-11 00:00:00'),
('161-83516-0014-M00','NV_COSTS','A',3,'MEM 32MX16 DDR2-533 266MHz 1.8V FBGA-84 PROMOS','-'),
('161-83516-0014-M00','ZZ_Item_Type','A',3,'MEM 32MX16 DDR2-533 266MHz 1.8V FBGA-84 PROMOS','Part: Mem (Concept)'),
('161-83516-0014-M00','NV_PREFERENCE','A',3,'MEM 32MX16 DDR2-533 266MHz 1.8V FBGA-84 PROMOS','0'),
('161-83516-0014-M00','SPARE','A',3,'MEM 32MX16 DDR2-533 266MHz 1.8V FBGA-84 PROMOS','ROHS, PROMOS'),
('161-83516-0014-M00','HEIGHT','A',3,'MEM 32MX16 DDR2-533 266MHz 1.8V FBGA-84 PROMOS','-'),
('161-83516-0014-M00','NAME','A',3,'MEM 32MX16 DDR2-533 266MHz 1.8V FBGA-84 PROMOS','-'),
('161-83516-0014-M00','PACK_TYPE','A',3,'MEM 32MX16 DDR2-533 266MHz 1.8V FBGA-84 PROMOS','-'),
('161-83516-0014-M00','QUALIFIER','A',3,'MEM 32MX16 DDR2-533 266MHz 1.8V FBGA-84 PROMOS','-'),
('161-83516-0014-M00','PTF_NAME','A',3,'MEM 32MX16 DDR2-533 266MHz 1.8V FBGA-84 PROMOS','-'),
('161-83516-0014-M00','Parts','A',3,'MEM 32MX16 DDR2-533 266MHz 1.8V FBGA-84 PROMOS','Part: Mem (Concept)'),
('161-83516-0014-M00','SPEED_GRADE','A',4,'MEM 32MX16 DDR2-533 266MHz 1.8V FBGA-84 PROMOS','-'),
('161-83516-0014-M00','JEDEC_TYPE','A',4,'MEM 32MX16 DDR2-533 266MHz 1.8V FBGA-84 PROMOS','-'),
('161-83516-0014-M00','NV_LEAD_TIME','A',4,'MEM 32MX16 DDR2-533 266MHz 1.8V FBGA-84 PROMOS','-'),
('161-83516-0014-M00','VOLUME','A',4,'MEM 32MX16 DDR2-533 266MHz 1.8V FBGA-84 PROMOS','-'),
('161-83516-0014-M00','POW','A',4,'MEM 32MX16 DDR2-533 266MHz 1.8V FBGA-84 PROMOS','-'),
('161-83516-0014-M00','LIBRARY','A',4,'MEM 32MX16 DDR2-533 266MHz 1.8V FBGA-84 PROMOS','N/A'),
('161-83516-0014-M00','Valid_To','A',4,'MEM 32MX16 DDR2-533 266MHz 1.8V FBGA-84 PROMOS','1111-11-11 00:00:00'),
('161-83516-0014-M00','NV_COSTS','A',4,'MEM 32MX16 DDR2-533 266MHz 1.8V FBGA-84 PROMOS','-'),
('161-83516-0014-M00','ZZ_Item_Type','A',4,'MEM 32MX16 DDR2-533 266MHz 1.8V FBGA-84 PROMOS','Part: Mem (Concept)'),
('161-83516-0014-M00','NV_PREFERENCE','A',4,'MEM 32MX16 DDR2-533 266MHz 1.8V FBGA-84 PROMOS','0'),
('161-83516-0014-M00','SPARE','A',4,'MEM 32MX16 DDR2-533 266MHz 1.8V FBGA-84 PROMOS','ROHS, PROMOS'),
('161-83516-0014-M00','HEIGHT','A',4,'MEM 32MX16 DDR2-533 266MHz 1.8V FBGA-84 PROMOS','-'),
('161-83516-0014-M00','NAME','A',4,'MEM 32MX16 DDR2-533 266MHz 1.8V FBGA-84 PROMOS','-'),
('161-83516-0014-M00','PACK_TYPE','A',4,'MEM 32MX16 DDR2-533 266MHz 1.8V FBGA-84 PROMOS','-'),
('161-83516-0014-M00','QUALIFIER','A',4,'MEM 32MX16 DDR2-533 266MHz 1.8V FBGA-84 PROMOS','-'),
('161-83516-0014-M00','PTF_NAME','A',4,'MEM 32MX16 DDR2-533 266MHz 1.8V FBGA-84 PROMOS','-'),
('161-83516-0014-M00','Parts','A',4,'MEM 32MX16 DDR2-533 266MHz 1.8V FBGA-84 PROMOS','Part: Mem (Concept)'),
('161-83516-0014-M00','SPEED_GRADE','A',5,'MEM 32MX16 DDR2-533 266MHz 1.8V FBGA-84 PROMOS','-')
查询:
SELECT [PART_NAME]
, [PART_REVISION]
, [PART_ITERATION]
, [SPEED_GRADE]
, [JEDEC_TYPE]
, [NV_LEAD_TIME]
, [VOLUME]
, [POW]
, [LIBRARY]
, [Valid_To]
, [NV_COSTS]
, [ZZ_Item_Type]
, [NV_PREFERENCE]
, [SPARE]
, [HEIGHT]
, [NAME]
, [PACK_TYPE]
, [QUALIFIER]
, [PTF_NAME]
, [Parts]
FROM
(SELECT *
FROM #temp) AS SourceTable PIVOT(MIN(IBAVALUE) FOR IBA_NAME IN([SPEED_GRADE]
, [JEDEC_TYPE]
, [NV_LEAD_TIME]
, [VOLUME]
, [POW]
, [LIBRARY]
, [Valid_To]
, [NV_COSTS]
, [ZZ_Item_Type]
, [NV_PREFERENCE]
, [SPARE]
, [HEIGHT]
, [NAME]
, [PACK_TYPE]
, [QUALIFIER]
, [PTF_NAME]
, [Parts])) AS PivotTable;
结果:
您的预期输出是什么?请将其作为文本表发布,并添加列,说明我希望如何获取数据。