在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
答案 0 :(得分:1)
如果列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 demo 强>