2

假设我有两个表:
表 1:

number
1
2
3

和表 2:

letter
a
b
c
d
e
f
g

我怎样才能生产

number      letter
a              1
a              2
a              3
b              1
b              2
b              3
c              1
c              2
c              3

一直到 g - 我只想将每个值中的一个分配给表的每个特定值

4

3 回答 3

12

虽然查询建议如下:

SELECT number, letter FROM Table1, Table2

将工作相同,甚至可能看起来更简单 -不要使用它。这是 20 多年前随着 ANSI-92 标准的引入而过时的旧式语法。

请使用 ANSI-JOINS:

SELECT t1.number, t2.letter
FROM Table1 t1
CROSS JOIN Table2 t2

还要养成始终为列添加别名和前缀的习惯。

于 2013-08-08T18:34:20.837 回答
5

交叉连接:

select Table1.number, Table2.letter 
from Table1 CROSS JOIN Table2
于 2013-08-08T18:09:11.757 回答
-1

要获得您正在寻找的东西,请执行以下操作:

select letter,number 
from Table2 cross join Table1 
order by letter,number
于 2013-08-08T18:14:57.433 回答