Sql server SQL Server行到列数据
我在SQL Server表中有以下结构的数据:Sql server SQL Server行到列数据,sql-server,Sql Server,我在SQL Server表中有以下结构的数据: Engine_No Date Process Bolt_No1 B1Value1 B1Value2 B1Value3 Bolt_No2 B2Value1 B2Value2 B2Value3 Bolt_No3 B3Value1 B3Value2 B3Value3 Bolt_No4 B4Value1 B4Value2 B4Value3 我想显示以下查询结果: Engine_No Date Process Bolt_No1 B1Value1
Engine_No Date Process Bolt_No1 B1Value1 B1Value2 B1Value3 Bolt_No2 B2Value1 B2Value2 B2Value3 Bolt_No3 B3Value1 B3Value2 B3Value3 Bolt_No4 B4Value1 B4Value2 B4Value3
我想显示以下查询结果:
Engine_No Date Process Bolt_No1 B1Value1 B1Value2 B1Value3
Engine_No Date Process Bolt_No2 B2Value1 B2Value2 B2Value3
Engine_No Date Process Bolt_No3 B3Value1 B3Value2 B3Value3
Engine_No Date Process Bolt_No4 B4Value1 B4Value2 B4Value3
有人能推荐一个实现这一点的查询吗?您可以这样选择:
SELECT
*
FROM
(
(
SELECT
Engine_No,
Date,
Process,
Bolt_No1,
B1Value1,
B1Value2,
B1Value3
FROM
Engines
) UNION (
SELECT
Engine_No,
Date,
Process,
Bolt_No2,
B2Value1,
B2Value2,
B2Value3
FROM
Engines
) UNION (
SELECT
Engine_No,
Date,
Process,
Bolt_No3,
B3Value1,
B3Value2,
B3Value3
FROM
Engines
) UNION (
SELECT
Engine_No,
Date,
Process,
Bolt_No4,
B4Value1,
B4Value2,
B4Value3
FROM
Engines
)
) AS tmp
ORDER BY Engine_No
唯一的问题是,因为每个列只能有一个名称,所以您不知道哪些行有哪些列
在这种情况下,您通常会选择您需要的内容,然后将其格式化为您希望以何种语言显示的格式。sql表结构一点也不清楚,请查看您的问题并在工具栏{}中格式化(我尝试过,但仍然没有意义)用于创建固定布局行。这是什么类型的表?一种方法是在几个不同的查询中使用
UNION
,但我不会尝试这样做