【问题标题】:SQL query to get the output获取输出的 SQL 查询
【发布时间】:2020-07-20 09:14:38
【问题描述】:

我有两张表,表 A 和表 B,如下所示。

Table A 
--------
X
Y

Table 
--------
X
Y

获取以下输出的 SQL 查询是什么?

XX
XY
YX
YY

【问题讨论】:

    标签: sql oracle join hiveql


    【解决方案1】:

    这看起来像cross join,用于生成两个表之间所有可能的行组合。假设像tablea(col)tableb(col)这样的结构:

    select a.col, b.col
    from tablea a 
    cross join tableb b
    order by a.col, b.col
    

    如果要将结果连接到单列中:

    select a.col || b.col as col
    from tablea a 
    cross join tableb b
    order by a.col, b.col
    

    【讨论】:

    • 感谢您的回复。有没有其他方法可以在不使用交叉/笛卡尔连接的情况下实现输出,因为笛卡尔连接通常不是首选,
    • @SNS:你要求的本质上是笛卡尔积,所以这是怎么做的......
    • 谢谢。我将尝试查询以查看输出
    猜你喜欢
    • 2021-07-24
    • 2015-06-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-11-01
    • 2022-01-18
    相关资源
    最近更新 更多