' x'的所有组合并且' y'

时间:2014-11-18 11:36:06

标签: postgresql

为'x'和'y'(字母,而不是列x或列y)提供所有可能的组合。它应返回一列结果: XX XY YX YY

由于

2 个答案:

答案 0 :(得分:4)

我认为你正在寻找一个交叉连接,它返回两个表的笛卡尔积。在这里,我使用公共表表达式和两个别名,而不是创建两个表。

with values as (
  select 'x' val union all
  select 'y'
)
select v1.val || v2.val combin 
from values v1
cross join values v2

答案 1 :(得分:1)

我不确定完全理解你的意图,但也许以下内容会接近你想要的内容:

<!-- language: lang-sql -->
select x||y 
from (select 'x'::text as x union select 'y'::text as x) x
cross join (select 'y'::text as y union select 'x'::text as y) y

此致