我有两张桌子:
产品
| id | name | price | type_id
------------------------------------
| 1 | Product A | 500 | 1
| 2 | Product B | 600 | 3
| 3 | Product C | 800 | 15
类型
| id | price |
---------------
| 1 | |
| 3 | |
| 15 | |
现在,我想将类型表中的价格设置为 products 表中的值,该表具有相应的type_id
所以在类型表1 => 500, 3 => 600, 15 => 800
中,鉴于type_id在products表中是唯一的。
我试着写一个像:
这样的查询UPDATE types SET price = (
SELECT sub.price FROM (SELECT p.type_id AS id, p.price AS price
FROM products p, types t
WHERE p.type_id = t.id) AS sub
WHERE sub.id = types.id
)
但是,查询无法正常工作并且看起来太复杂了。我该怎么做?
答案 0 :(得分:1)
如果某种类型最多仅归因于一种产品:
UPDATE types set price = products.price
from products where products.type_id= types.id