【发布时间】:2012-02-14 10:22:36
【问题描述】:
我正在尝试从我的数据库中删除一个关联表。它包含引用表 a 和 b 的两列(a_id 和 b_id)。
这个表是不必要的,因为它实际上是一个 OneToMany 关系。所以我在表 b 中添加了列 a_id。
我的问题:如何将现有条目从 assoc_a_b 转移到 b.a_id?
SELECT DISTINCT b.id, a.id FROM table_a AS a
JOIN assoc_a_b AS assoc ON a.id = assoc.a_id
JOIN table_b AS b ON b.id = assoc.b_id;
此选择语句有效。它可以与 UPDATE 语句结合使用吗? UPDATE 语句看起来像:
UPDATE b SET a_id = a.id WHERE id = b.id;
使用上面 select 语句中的 a.id 和 b.id。
【问题讨论】:
标签: postgresql select