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