我有 2 個表,第一個是 material_table:
| ID | 材料 |
|---|---|
| 1 | 鋼 |
| 2 | 鋁 |
| 3 | 銅 |
| 4 | 鎳 |
第二個是維度表:
| 寬度 | 長度 |
|---|---|
| 1 | 1 |
| 1 | 2 |
| 1 | 3 |
| 1 | 4 |
我想加入他們,所以我有類似 result_table 的東西:
| 材料 | 寬度 | 長度 |
|---|---|---|
| 鋼 | 1 | 1 |
| 鋼 | 1 | 2 |
| 鋼 | 1 | 3 |
我嘗試了以下方法:
SELECT material_table.type, dimension_table.width, dimension_table.length
FROM dimensions_table
CROSS JOIN material_table;
但我得到一個結果表,如:
| 材料 | 寬度 | 長度 |
|---|---|---|
| 鋼 | 1 | 1 |
| 銅 | 1 | 1 |
| 鎳 | 1 | 1 |
| 鋼 | 1 | 2 |
| 銅 | 1 | 2 |
| 鎳 | 1 | 2 |
因此,為了澄清我想將我的材料表與尺寸表連接起來,但列的順序不是我想要的方式。
uj5u.com熱心網友回復:
您需要訂購應訂購的每個欄位。為了保證具有與預期相同的輸出,它將是:
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;
uj5u.com熱心網友回復:
SELECT material_table.type, dimension_table.width, dimension_table.length
FROM dimensions_table
CROSS JOIN material_table
ORDER BY material_table.type
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/437062.html
標籤:sql 数据库 PostgreSQL 笛卡尔积 交叉连接
下一篇:從一行創建2個逗號分隔的列
