SQL将值连接到一组值

时间:2013-08-08 18:07:40

标签: sql sql-server sql-server-2008

说我有两张桌子:
表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 - 我只想将每个值中的一个分配给表的每个特定值

3 个答案:

答案 0 :(得分:12)

虽然查询建议如下:

SELECT number, letter FROM Table1, Table2

也会起作用,甚至可能看起来更简单 - DON'T USE IT.这是20年前推出ANSI-92标准时过时的旧式语法。

请使用ANSI-JOINS:

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

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

答案 1 :(得分:5)

交叉加入:

select Table1.number, Table2.letter 
from Table1 CROSS JOIN Table2

答案 2 :(得分:-1)

要获得您想要的东西,请执行以下操作:

select letter,number 
from Table2 cross join Table1 
order by letter,number