首页 > 解决方案 > 如何创建一个视图,其中一个表中的每一行都被视为另一个表中每一行的子级?

问题描述

我正在尝试创建一个视图,该视图结合了两个表以具有以下形式。

表 A(第一列)

FIRST
-----
A
B
C

表 B(第二列)

SECOND
-----
1
2
3

结果

FIRST | SECOND
------|-------
A     | 1
A     | 2
A     | 3
B     | 1
B     | 2
B     | 3
C     | 1
C     | 2
C     | 3

我一直在努力解决这个问题。类似下面的代码是我希望最终得到的视图,以使其与我的其他视图相似,但我尝试过的所有选项都没有完全正确。

SELECT
    FIRST,
    '' AS SECOND
FROM Table A

UNION ALL

SELECT
    '' AS FIRST,
    SECOND
FROM Table B

标签: sqlsql-server

解决方案


您正在寻找cross join

select a.first, b.second
from a cross join
     b
order by a.first, b.second;

推荐阅读