如何将3列交叉连接在一起?
我有2个表,第一个是material_table:
id | 材料 |
---|---|
1 | 钢 |
2 | 铝 |
3 | 铜 |
4 | 镍 |
第二个是dimension_table:
宽度 | 长度 |
---|---|
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 |
所以为了澄清,我想将我的材料表与尺寸表连接起来,但列的顺序不是我想要的方式。
I have 2 tables, first one is material_table:
id | material |
---|---|
1 | steel |
2 | aluminum |
3 | copper |
4 | nickel |
Second one is dimension_table:
width | length |
---|---|
1 | 1 |
1 | 2 |
1 | 3 |
1 | 4 |
I want to join them so I have something like result_table:
material | width | length |
---|---|---|
steel | 1 | 1 |
steel | 1 | 2 |
steel | 1 | 3 |
I tried the following:
SELECT material_table.type, dimension_table.width, dimension_table.length
FROM dimensions_table
CROSS JOIN material_table;
But I get a resulting table like:
material | width | length |
---|---|---|
steel | 1 | 1 |
copper | 1 | 1 |
nickel | 1 | 1 |
steel | 1 | 2 |
copper | 1 | 2 |
nickel | 1 | 2 |
So to clarify I want to join my material table with the dimensions table, but the order of the columns is not the way I want it.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您需要对每个应该排序的字段进行排序。为了保证具有与预期相同的输出,它将是:
You need to order every field that should be ordered. To be guaranteed to have the same output as expected, it would be: