在Oracle SQL查询中,我们得到 40条记录,其中* 有 13列 。我想 将 所有这些记录 合并 为 一列, 即 1条记录中 40 * 13 = 520 列。例如-样本表的记录很少 *
col1 col2 city cntry conti 1 abc NYC USA NA 2 def LON UK EU 3 xyz DUB UAE ASIA
然后 合并 所有记录并 合并 为一条记录,然后应如下图所示-
col1 col2 city cntry conti col1 col2 city cntry conti col1 col2 city cntry conti 1 abc NYC USA NA 2 def LON UK EU 3 xyz DUB UAE ASIA
如果列col1包含唯一值,则可以使用pivot:
col1
pivot
select * from t pivot (max(col1) col1, max(col2) col2, max(city) city, max(cntry), max(conti) conti for col1 in (1, 2, 3))
SQLFiddle演示