基于两列组合在SQL中乘以记录

时间:2013-10-09 03:47:47

标签: sql

我知道这个标题有点模糊。

这就是我想要完成的事情:

我有一个包含两个特定行的表,some_id和some_string。

some_id     some_string
4           'a'
7           'j'
12          'ee'

我想为这两列的所有组合创建条目,以便我最终得到:

some_id    some_string
4          'a'
4          'j'
4          'ee'
7          'a'
7          'j'
7          'ee'
12         'a'
12         'j'
12         'ee'

我该如何处理?我碰巧使用Postgres,但我可以理解一般说明。

2 个答案:

答案 0 :(得分:2)

只需从两者中选择:

SELECT t1.some_id, t2.some_string
FROM table1 t1, table2 t2

这会将t1中的每个值与t2中的每个值组合在一起,从而导致总记录数等于两个表中记录的总数。如果您想按照示例中的ORDER BY进行排序,则应添加t1.some_id子句

答案 1 :(得分:0)

这是一种方法:

select distinct s.some_id, s2.some_string
from yourtable s, yourtable s2