eug*_*220 2 sql sql-server sql-server-2008
说我有两张桌子:
表1:
number
1
2
3
Run Code Online (Sandbox Code Playgroud)
和表2:
letter
a
b
c
d
e
f
g
Run Code Online (Sandbox Code Playgroud)
我怎么生产
number letter
a 1
a 2
a 3
b 1
b 2
b 3
c 1
c 2
c 3
Run Code Online (Sandbox Code Playgroud)
一直到g - 我只想将每个值中的一个分配给表的每个特定值
Nen*_*vic 12
虽然查询建议如下:
SELECT number, letter FROM Table1, Table2
Run Code Online (Sandbox Code Playgroud)
将工作相同,甚至可能看起来更简单 - 不要使用它.这种旧式语法在20多年前已经过时,引入了ANSI-92标准.
请使用ANSI-JOINS:
SELECT t1.number, t2.letter
FROM Table1 t1
CROSS JOIN Table2 t2
Run Code Online (Sandbox Code Playgroud)
也养成了为列添加别名和前缀的习惯.
交叉加入:
select Table1.number, Table2.letter
from Table1 CROSS JOIN Table2
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
112 次 |
| 最近记录: |