SQL 服务器透视和合并列可能吗?
SQL Server pivot and merge column possible?
我有一个 table 数据:
| RESULT | TYPE | NAME |
+---------+-------------+-----------+
| 101.96 | Indep Chk | Calcium |
| 101.96 | Control | Calcium |
| <5.00 | Meth Blank | Calcium |
| 1 | Duplicate | Calcium |
我试图得到以下结果,但没有成功。
期望的输出:
| [Indep Chk] | Control | Duplicate | [Meth Blank] | Name |
| 101.96 | 101.96 | 1 | <5.00 | Calcium |
我该怎么做?
谢谢
如果我没记错的话,这是一个简单的PIVOT
:
DECLARE @Dummy TABLE(RESULT VARCHAR(100),[TYPE] VARCHAR(100),NAME VARCHAR(100));
INSERT INTO @Dummy VALUES
('101.96','Indep Chk','Calcium')
,('101.96','Control','Calcium')
,('<5.00','Meth Blank','Calcium')
,('1','Duplicate','Calcium')
,('a','Indep Chk','Other')
,('b','Control','Other')
,('c','Meth Blank','Other')
,('d','Duplicate','Other');
SELECT p.*
FROM
(
SELECT *
FROM @Dummy
) AS tbl
PIVOT
(
MIN(RESULT) FOR [TYPE] IN ([Indep Chk],[Control],Duplicate,[Meth Blank])
) AS p;
结果
NAME Indep Chk Control Duplicate Meth Blank
Calcium 101.96 101.96 1 <5.00
Other a b d c
我有一个 table 数据:
| RESULT | TYPE | NAME |
+---------+-------------+-----------+
| 101.96 | Indep Chk | Calcium |
| 101.96 | Control | Calcium |
| <5.00 | Meth Blank | Calcium |
| 1 | Duplicate | Calcium |
我试图得到以下结果,但没有成功。
期望的输出:
| [Indep Chk] | Control | Duplicate | [Meth Blank] | Name |
| 101.96 | 101.96 | 1 | <5.00 | Calcium |
我该怎么做?
谢谢
如果我没记错的话,这是一个简单的PIVOT
:
DECLARE @Dummy TABLE(RESULT VARCHAR(100),[TYPE] VARCHAR(100),NAME VARCHAR(100));
INSERT INTO @Dummy VALUES
('101.96','Indep Chk','Calcium')
,('101.96','Control','Calcium')
,('<5.00','Meth Blank','Calcium')
,('1','Duplicate','Calcium')
,('a','Indep Chk','Other')
,('b','Control','Other')
,('c','Meth Blank','Other')
,('d','Duplicate','Other');
SELECT p.*
FROM
(
SELECT *
FROM @Dummy
) AS tbl
PIVOT
(
MIN(RESULT) FOR [TYPE] IN ([Indep Chk],[Control],Duplicate,[Meth Blank])
) AS p;
结果
NAME Indep Chk Control Duplicate Meth Blank
Calcium 101.96 101.96 1 <5.00
Other a b d c