有没有简单的方法来选择两个表的每个记录,有点难以解释,但如果我有两个表客户端和产品
Client
A
B
C
Product
1
2
3
什么查询会得到如下结果:
RESULT
A1
A2
A3
B1
B2
B3
C1
C2
C3
答案 0 :(得分:6)
这称为cross join
(或笛卡尔积):
select c.field, p.field
from client c
cross join product p
此时将列组合在一起是相当简单的。
答案 1 :(得分:2)
使用CROSS JOIN
SELECT C.client_column
+ CONVERT(VARCHAR(50), P.Product_column)
FROM client C
CROSS JOIN product P
答案 2 :(得分:0)
SELECT C.Name + CAST(P.Id AS VARCHAR(10)) FROM Client C
CROSS JOIN Product P
答案 3 :(得分:0)
或者,在SQL Server中,您可以从列分隔的表列表中select
。然后,您可以在模拟标准join
的{{1}}子句中指定where
条件,或者您不能指定任何join
条件,这将创建类似于以下内容的笛卡尔积join
:
cross join