如何在tsql中将2行转换为列?
我有两行数据,我想把它变成两列, 我尝试了联合语法,但没有成功。 以下是我掌握的数据: 品种1繁殖2 我试图用这个sql转换它如何在tsql中将2行转换为列?,sql,tsql,row,Sql,Tsql,Row,我有两行数据,我想把它变成两列, 我尝试了联合语法,但没有成功。 以下是我掌握的数据: 品种1繁殖2 我试图用这个sql转换它 select a.breed union a.breed 但它不起作用 以下是您希望从SQL中获得的内容: 布里1,布里2 您可以使用自联接。这需要一种将行配对在一起的方法(因此,如果有四行,则一个结果中得到1和2,另一个结果中得到3和4,而不是另一个组合) 我假设在Id列中有顺序编号的行,奇数编号的行与一个更大的偶数Id配对: select odd.Data as
select a.breed union a.breed
但它不起作用
以下是您希望从SQL中获得的内容:
布里1,布里2
您可以使用自联接。这需要一种将行配对在一起的方法(因此,如果有四行,则一个结果中得到1和2,另一个结果中得到3和4,而不是另一个组合) 我假设在
Id
列中有顺序编号的行,奇数编号的行与一个更大的偶数Id
配对:
select odd.Data as 'First', even.Data as 'Second'
from TheData odd
inner join TheData even on odd.Id+1 = even.Id
where odd.Id % 2 = 1;
更一般地说,对于更多的列,pivot的使用更灵活。聚合查询如何
SELECT
[breed1],
[breed2]]
FROM
(
SELECT 'breed1' myColumn
union
select 'breed2'
) AS SourceTable
PIVOT
(
AVG(mySecondColumn) FOR
myColumn IN ([breed1], [breed2]])
) AS PivotTable;
select min(breed) as breed1, max(breed) as breed2
from t;
请添加示例数据。扩展到7行或8行数据,然后向我们展示示例数据和预期结果。搜索PIVOTIf,您相信这是满足您需要的答案,请考虑通过点击绿色蜱来检查答案。