【问题标题】:Select All Right Hand Rows for Each Left Hand Row SQL.. HELP!为每个左手行 SQL 选择所有右手行。帮助!
【发布时间】:2011-05-01 06:06:55
【问题描述】:

我目前正在寻找可以执行此操作的 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

等等……

所以基本上每一个左手栏都选择那个和每一个右手栏

谢谢 丹尼尔

【问题讨论】:

  • 仅供参考,这称为笛卡尔连接
  • @Mark Ba​​nnister 想知道一些令人尴尬的事情吗?
  • 直到大约 2 天前我才知道如何接受答案!

标签: sql sql-server tsql join


【解决方案1】:

这是简单的交叉连接

SELECT * FROM Apples, Oranges;

SELECT * FROM Apples CROSS JOIN Oranges;

【讨论】:

    【解决方案2】:
    SELECT  *
    FROM    Apples
    CROSS JOIN
            Oranges
    

    或者,使用隐式连接语法,就是这样:

    SELECT  *
    FROM    Apples, Oranges
    

    【讨论】:

      【解决方案3】:

      谢谢大家!

      老板帮我回答了这是一个模拟:

      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
      

      【讨论】:

      • 有趣的是,您的解决方案与您提出的确切问题不符。 :)
      • 哈哈我知道.. 但它足够接近! ;)
      猜你喜欢
      • 1970-01-01
      • 2018-01-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-01-30
      • 2019-04-06
      • 2011-08-26
      • 1970-01-01
      相关资源
      最近更新 更多