如何将 3 列交叉连接在一起?

How to cross join 3 columns together?

我有 2 个 table,第一个是 material_table:

id material
1 steel
2 aluminum
3 copper
4 nickel

第二个是dimension_table:

width length
1 1
1 2
1 3
1 4

我想加入他们,所以我有类似 result_table:

material width length
steel 1 1
steel 1 2
steel 1 3

我尝试了以下方法:

SELECT material_table.type, dimension_table.width, dimension_table.length
FROM dimensions_table
CROSS JOIN material_table;

但我得到的结果是 table,例如:

material width length
steel 1 1
copper 1 1
nickel 1 1
steel 1 2
copper 1 2
nickel 1 2

所以澄清一下,我想加入我的 material table 和尺寸 table,但列的顺序不是我想要的。

SELECT material_table.type, dimension_table.width, dimension_table.length
FROM dimensions_table
CROSS JOIN material_table
ORDER BY material_table.type

您需要对每个应该被排序的字段进行排序。要保证与预期的输出相同,它将是:

SELECT material_table.type, dimension_table.width, dimension_table.length
FROM dimensions_table
CROSS JOIN material_table
ORDER BY material_table.type, dimension_table.width, dimension_table.length;