我正在尝试编写一个查询,以便以这种格式将一组行复制到另一个表
Table 1
ColumnName ColumnValue RowId
Column1 Value1 1
Column2 Value2 1
Column3 Value3 1
Column1 Value4 2
Column2 Value5 2
Column3 Value6 2
Column1 Value7 3
Column2 Value8 3
Column3 Value9 3
Table2
Column1 Column2 Column3
Value1 Value2 Value3
Value4 Value5 Value6
Value7 Value8 Value9
这里基本上表1是输入,表2是我正在尝试的输出。我使用了数据和行号,但都没有用。
实现此目的的插入查询是什么。这里表1中rowId 1的所有行将形成一行table2。
答案 0 :(得分:1)
select rowID,
max(case when columnName = 'Column1' then value else null end) as column1,
max(case when columnName = 'Column2' then value else null end) as column2,
max(case when columnName = 'Column3' then value else null end) as column3
from table1
group by rowID