sql - 标量子查询包含多于一行

标签 sql h2

我正在使用 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_SERVICECUSTOMER table 。为此,我已经向用户添加了一个电子邮件列。我希望能够通过我的查询来做到这一点,但显然不是。

最佳答案

您的选择查询返回不止一行。如果您不想这样做,那么您需要执行聚合或 LIMIT 1 之类的操作或类似操作。

关于sql - 标量子查询包含多于一行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40565334/

相关文章:

sql - Oracle SQL 中的日期之前

java - 无法导入 org.h2.server.web.WebServlet

gradle - 使用gradle-flyway插件创建测试数据库后,如何引用c3p0 config中创建的数据库?

php - SQL 验证!

spring - 找不到表 "BATCH_JOB_INSTANCE": org. h2.jdbc.JdbcSQLException

playframework - Play 框架 Ebean BigDecimal 分数

mysql - 命名异常 : Cannot create resource instance with tomcat7-maven-plugin h2/mysql database

sql - 当我返回 sql 列时,有没有办法只反转数字? (希伯来语)

sql - 这些数据库设计风格(或反模式)有名字吗?

sql - Mysql4 : SQL for selecting one or zero record