这可能已经在某个地方得到解答,但在搜索时遇到了麻烦,因为我认为我缺少关键术语。
我想要做的是将多列转换为更多列
所以我的查询当前返回:
col1 | col2 | col3
__________________________
a | x | 1
b | y | 1
c | z | 1
d | x | 2
e | y | 2
f | z | 2
g | x | 3
h | y | 3
i | z | 3
我想要做的是再次查询以获得:
col 1 | col 2 (shows column 1 and 2 where col3 is equal to 1)
col 3 | col 4 (shows column 1 and 2 where col3 is equal to 2)
col 5 | col 6 (shows column 1 and 2 where col3 is equal to 3)
希望这是有道理的。没有发布我的查询以获得第一组结果,因为它非常大(几个联盟都在其中)并且认为没有必要。如果它有帮助我会把它削减到更易于管理的东西并发布。
编辑: 让我试着更好地解释一下。在新查询中,我想显示6列。前两列将是 从'原始查询'中选择col1,col2,其中col3 = 1
后两列(col3和col4)将为
从'原始查询'中选择col1,col2,其中col3 = 2.
最后两列将是(col5和col6)将为
从'原始查询'中选择col1,col2,其中col3 = 3.
答案 0 :(得分:0)
好的,我找到了一种方法(在我看来并不是特别优雅,但它有效)。在视图中添加了上一个查询 然后做了::
select a.col1, a.col2, b.col1, b.col2, c.col1, c.col2
from view a, view b, view c
where a.col3 = 1
and b.col3 = 2
and c.col3 = 3
为了简单起见,还必须链接我从这里排除的主键。我认为这几乎就是potatopeelings的建议。
感谢您的帮助,如果有人想到更好的方法,请告诉我,因为我现在非常业余,并且非常了解这一事实