没有明显连接条件的表之间的连接逻辑
Join logic between tables without an obvious join condition
我有 2 个表,一个包含面积、操作和数量,另一个包含价格,目标是将两者合并到一个视图中
表 1
areaid integer
bananaunits integer
kilometers_ran integer
dogecoins integer
areaid | bananaunits | kilometers_ran | dogecoin
1 | 0 | 1 | 10
2 | 4 | 2 | 100
表2
rateid integer
description text
cost_per_unit integer
rateid | description | cost_per_unit
1 | price per banana | 0.5
2 | price per kilometers run | 2
3 | price per doge | 1
预期的结果是拥有一个包含以下字段的视图:
areaid,rateid,描述,cost_per_unit,单位,combined_cost
areaid| rateid| description| cost_per_unit| units| total_cost
1 | 1 | price per banana | 0.5 | 0 | 0
1 | 2 | per kilometers run | 2 | 1 | 2
1 | 3 | price per doge | 1 | 10 | 10
2 | 1 | price per banana | 0.5 | 4 | 2
2 | 2 | per kilometers run | 2 | 2 | 4
2 | 3 | price per doge | 1 | 100 | 100
换句话说,我需要在单独的行中显示每个区域的所有费率。如何实现?
编辑:当前查询无效
select areaid, rateid, description, cost_per_unit, units, combined_cost from table1,table2
由于您没有连接键,并且您希望 area
和 rates
的每个组合都有一行,所以您基本上也在寻找 CROSS JOIN称为笛卡尔积
我有 2 个表,一个包含面积、操作和数量,另一个包含价格,目标是将两者合并到一个视图中
表 1
areaid integer
bananaunits integer
kilometers_ran integer
dogecoins integer
areaid | bananaunits | kilometers_ran | dogecoin
1 | 0 | 1 | 10
2 | 4 | 2 | 100
表2
rateid integer
description text
cost_per_unit integer
rateid | description | cost_per_unit
1 | price per banana | 0.5
2 | price per kilometers run | 2
3 | price per doge | 1
预期的结果是拥有一个包含以下字段的视图:
areaid,rateid,描述,cost_per_unit,单位,combined_cost
areaid| rateid| description| cost_per_unit| units| total_cost
1 | 1 | price per banana | 0.5 | 0 | 0
1 | 2 | per kilometers run | 2 | 1 | 2
1 | 3 | price per doge | 1 | 10 | 10
2 | 1 | price per banana | 0.5 | 4 | 2
2 | 2 | per kilometers run | 2 | 2 | 4
2 | 3 | price per doge | 1 | 100 | 100
换句话说,我需要在单独的行中显示每个区域的所有费率。如何实现?
编辑:当前查询无效
select areaid, rateid, description, cost_per_unit, units, combined_cost from table1,table2
由于您没有连接键,并且您希望 area
和 rates
的每个组合都有一行,所以您基本上也在寻找 CROSS JOIN称为笛卡尔积