首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在pl/sql中获得表中三列的组合?

如何在pl/sql中获得表中三列的组合?
EN

Stack Overflow用户
提问于 2013-06-22 15:55:28
回答 1查看 1.2K关注 0票数 2

我必须使用PL/SQL找出数据库中表的三列的组合。为了方便起见,请考虑下面的抽象表(A,B,C代表列名称和v1,v2,v3...代表列值):

代码语言:javascript
复制
-+-----+-----+-----+-
-|  A  |  B  |  C  |-
-+-----+-----+-----+-
-|  v1 |  v2 |  v3 |-
-+-----+-----+-----+-
-|  v4 |  v5 |  v6 |-
-+-----+-----+-----+-
-|  :  |  :  |  :  |-
    :     :     :   

我的模块应该生成这三列A、B、C的每个组合,如下所示:

代码语言:javascript
复制
v1 v2 v3
v1 v2 v6
v1 v5 v3
v1 v5 v6
........
v4 v2 v3
v4 v2 v6
v4 v5 v3
v4 v5 v6
........
 :  :  :
 :  :  :

以此类推。

有谁能为这个过程提出最有效的算法吗?谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-06-22 17:47:47

笛卡尔连接将产生您正在寻找的所有组合。由于所有三列都在同一个表中,因此您需要将该表临时拆分为三部分:

代码语言:javascript
复制
SELECT *
  FROM (SELECT a FROM mytable),
       (SELECT b FROM mytable),
       (SELECT c FROM mytable);
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17248584

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档