我正在使用 H2 数据库并想移动一些数据。为此,我创建了以下查询:
UPDATE CUSTOMER
SET EMAIL = SELECT service.EMAIL
FROM CUSTOMER_SERVICE AS service
INNER JOIN CUSTOMER AS customer ON service.ID = customer.CUSTOMER_SERVICE_ID;
当我现在在 H2 控制台中执行它时,我收到以下错误:
Scalar subquery contains more than one row; SQL statement:
UPDATE CUSTOMER
SET EMAIL = SELECT service.EMAIL
FROM CUSTOMER_SERVICE AS service
INNER JOIN CUSTOMER AS customer ON service.ID = customer.CUSTOMER_SERVICE_ID [90053-192] 90053/90053 (Hilfe)
这个错误告诉我什么?
编辑
我想通过我的查询实现什么:
其实每
CUSTOMER
有一个 CUSTOMER_SERVICE
.我只想移动 COLUMN EMAIL
来自 CUSTOMER_SERVICE
到 CUSTOMER
table 。为此,我已经向用户添加了一个电子邮件列。我希望能够通过我的查询来做到这一点,但显然不是。
最佳答案
您的选择查询返回不止一行。如果您不想这样做,那么您需要执行聚合或 LIMIT 1 之类的操作或类似操作。
关于sql - 标量子查询包含多于一行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40565334/