为每个左手行选择所有右手行SQL。求助!

3

我目前正在寻找一条SELECT语句,可以实现以下功能...

|------Apples------| 
 |--id--|
 - 1   
 - 16
 - 23
 - 42

|------Oranges------| 
 |--id--|
 - a   
 - b
 - c

*SELECT STATEMENT*

|------Fruit Cocktail------| 

|--AppleID--|--OrangeID--|
   1              a
   1              b
   1              c
   16             a
   16             b
   16             c

基本上,对于每个左侧列,请选择它和每个右侧列。
谢谢 丹尼尔

FYI,这被称为笛卡尔积。 - DForck42
@Mark Bannister 想知道一些尴尬的事情吗? - Daniel Upton
直到大约两天前,我才不知道如何接受答案! - Daniel Upton
3个回答

5
SELECT  *
FROM    Apples
CROSS JOIN
        Oranges

或者,使用隐式连接语法,只需这样:
SELECT  *
FROM    Apples, Oranges

5

这是简单的交叉连接

SELECT * FROM Apples, Oranges;

或者

SELECT * FROM Apples CROSS JOIN Oranges;

0

谢谢大家!

老板给我回答了,这里是一个模拟:

Select A.Apple,P.Peach From 
(
Select 1 As Apple
Union
Select 2 As Apple
Union
Select 3 As Apple
Union
Select 4 As Apple
Union
Select 5 As Apple
Union
Select 6 As Apple
) A
Cross Join
(
Select 'a' As Peach
Union
Select 'b'
Union
Select 'c'
Union
Select 'd'
Union
Select 'e'
) P

你的解决方案和你所提出的问题并不完全匹配,这有点有趣。 :) - Johann Blais
哈哈,我知道...但它足够接近了!;) - Daniel Upton

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接