【发布时间】:2019-10-02 11:02:02
【问题描述】:
我有两张桌子。在表 Order 中,我有一个名为 customer_name 的列。我将创建一个名为 customer_id 的列,而 customer_name 将被删除。
在我删除该列之前,我们必须查看表 Customer。 Customer 有一列名称与 Order 中的 customer_name 相匹配。我想找到可以让我将 ID 从 Customer 移动到 Order 中的 customer_id 的 SQL 语法,条件是 Order.customer_name = Customer.name。
我正在尝试使用 postgresql 并且必须学习如何使用它,但即使使用常规 SQL 我也没有找到解决方案。
我试过了:
ALTER TABLE Order
SELECT INTO customer_id
id from Customer
WHERE Order.customer_name = Customer.name;
和
INSERT INTO Order (customer_id)
SELECT id
FROM Customer
WHERE Order.customer_name = Customer.name;
我遇到语法错误。
还有其他写条件的方法吗?还是因为pgadmin,我需要写一些其他的方式?
【问题讨论】:
-
注意:
ORDER是 SQL 中的关键字,是一个非常糟糕的表名选择。 -
您可能想要更新,而不是插入。
标签: sql postgresql