如何解决SQL:如何遍历表中的所有元素,并将“重复”复制到另一列中?
我一直在寻找一种方法来“挤压”行,方法是创建另一个表,该表的行column_c
包含每个重复的column_a
各自的column_b
值:
我想用一个例子来描述发生的事情会更容易:
假设我们有一个具有以下值的数据库
column_a | column_b
--------------------
1 | "A"
2 | "B"
2 | "C"
3 | "A"
3 | "D"
3 | "K"
4 | "K"
5 | "L"
...
上表将被转换为:
column_a | column_c
--------------------
1 | "A"
2 | "B,C"
3 | "A,D,K"
4 | "K"
5 | "L"
...
请注意,在第一个表中如何有两个column_a的值为2的条目。在第二个表中,只有一个column_a的值为2的条目,并且column_c的值将“ B”和“ C”存储为逗号分隔的字符串(可以诚实地用任何东西分隔)。同样,column_a
中的值3也是如此。
请注意,第一张表中的column_a
未排序。
我正在考虑通过首先根据column_a
对第一个表中的所有内容进行排序,遍历所有条目来解决此问题,并且如果前一个条目的column_a
值等于当前条目,我会附加当前值column_c
至上一个条目的column_c
。
有人知道我将如何使用sql查询吗? Active Record(ruby)脚本也很好。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。