0

我正在尝试在表中创建一个新列,其内容基于现有列对的值。特别是如果我有类似的表(ID 不是主键)

ID   |   Value  |   New Column(The column I want)
1         A           A:apple
1         B           A:orange
2        apple        B:apple
2        orange       B:orange

我是 SQL 的新手,所以这里的任何见解都会非常有帮助。

顺便说一句,如果这很重要,我会使用 Oracle。

附加详细信息:我希望根据 ID 不匹配的事实来配对 Values:Values

4

2 回答 2

2

假设您希望 ID1 的所有值与 ID2 的所有值配对,您可以将表交叉连接到自身,但根据 ID 进行过滤:

select t1.value ||':'|| t2.value
from my_table t1
cross join my_table t2
where t1.id = 1
and t2.id = 2;

SQL 小提琴

于 2013-08-07T18:55:20.583 回答
2

SQL 小提琴在这里

select t1.value||':'||t2.value
from mytable t1
cross join
mytable t2
where t1.id = 1
and t2.id = 2
于 2013-08-07T18:55:26.960 回答