我的数据库中有以下表格。基本上它将商品的价格存储在不同的商店。每个商店将始终具有相同的商品,这意味着如果稍后添加store_id 3,4,... n值,则它们将具有相同的item_ids
+----+---------+----------+---------+
| id | item_id | store_id | price |
+----+---------+----------+---------+
| 1 | 1 | 1 | 74.99|
| 2 | 2 | 1 | 25.99|
| 3 | 3 | 1 | 89.99|
| 4 | 1 | 2 | 69.99|
| 5 | 2 | 2 | 39.99|
| 6 | 3 | 2 | 95.99|
+----+---------+----------+---------+
我的sql知识非常基础,但我想知道是否有办法获得这个结果。
我需要将每个store_id值添加为一列,然后在每个可用商店获取item_id的价格值,并将其放在一行中。由于store_id可能有更多值,每个值都不同
+---------+-----------+-----------+
| item_id | price for | price for |
| | store_id 1| store_id 2|
+---------+-----------+-----------+
| 1 | 74.99 | 69.99|
| 2 | 25.99 | 39.99|
| 3 | 89.99 | 95.99|
+---------+-----------+-----------+
感谢。
答案 0 :(得分:0)
你可以使用自我加入,例如:
c = a.unsqueeze(2).expand(a.size(0), a.size(1), b.size(1), a.size(2))
d = b.unsqueeze(1).expand(b.size(0), a.size(1), b.size(1), b.size(2))