两张桌子上的笛卡尔积

cartesian product on two tables

我正在尝试创建 table 名称和列名称的结果集。在 table A 中,我有 table 名称列表,在 Table B 中,我有列名列表。每个 table 都应该有完整的列列表。所以:

table_name
Table1
Table2
column_name
Column1
Column2
Column3

我想要的结果是:

table_name column_name
Table1 Column1
Table1 Column2
Table1 Column3
Table2 Column1
Table2 Column2
Table2 Column3

所以我有 select

select
        table_name
        column_name
from
        A
full outer join
        B
on
        A.TABLE_NAME = B.COLUMN_NAME

这给了我:

table_name column_name
Table1
Table2
Column1
Column2
Column3

很接近,但没有雪茄! 请问我怎样才能得到我的答案?

使用这个:

select A.table_name, B.column_name from A, B;

如果你的表不是太大,试试这个:

select
    A.table_name
    , B.column_name
from A
cross join B