Postgresql “x”和“y”的所有组合

Postgresql “x”和“y”的所有组合,postgresql,Postgresql,给出字母“x”和“y”的所有可能组合,而不是x列或y列。它应该返回一列结果: xx xy yx yy 谢谢我不确定是否完全理解您的意图,但以下内容可能与您想要的内容非常接近: <!-- 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

给出字母“x”和“y”的所有可能组合,而不是x列或y列。它应该返回一列结果: xx xy yx yy


谢谢

我不确定是否完全理解您的意图,但以下内容可能与您想要的内容非常接近:

<!-- 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

关于

我不确定是否完全理解您的意图,但以下内容可能与您想要的内容非常接近:

<!-- 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

关于

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

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

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

with values as (
  select 'x' val union all
  select 'y'
)
select v1.val || v2.val combin 
from values v1
cross join values v2
值'xx','xy','yx','yy';值'xx','xy','yx','yy';