基于列值向sql中的列添加行值

Posted

技术标签:

【中文标题】基于列值向sql中的列添加行值【英文标题】:Based on the column values add a row value to the column in sql 【发布时间】:2015-12-18 11:31:36 【问题描述】:

我有一张如下表:

我希望只有当 col1 和 col2 值在两行中相同时才显示结果。

谁能提供SQL查询?

【问题讨论】:

规则是什么?如果 Col4 也被填充了怎么办?如果有 3 行呢? 如果 col4 已填充,则替换为第二行中的 col3 值 【参考方案1】:

您没有提供详细信息,因此我建议使用以下旋转解决方案:

with cte as(select col1, 
                   col2, 
                   col3, 
                   row_number() over(partition by col1, col2 order by col3) rn 
            from tablename)
select col1, col2, [1] as col3, [2] as col4
from cte
pivot(max(col3) for rn in([1],[2]))p

【讨论】:

以上是关于基于列值向sql中的列添加行值的主要内容,如果未能解决你的问题,请参考以下文章

使用 Javascript 在动态添加删除行中计算行值和列值

将谷歌电子表格行值转换为不同工作表中的列

SQL-获取行值作为列标题

Rails 3.x 如何根据行值编写全部更新?

如何在 Angular 中使用 Ag Grid 根据列值组为行添加颜色?

将行值转换为火花数据框中的列数组