标量子查询包含多行 [英] Scalar subquery contains more than one row
本文介绍了标量子查询包含多行的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
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
表。为此,我已经向用户添加了一个电子邮件栏。我希望我的查询能够做到这一点,但显然做不到。
推荐答案
您的查询在语法上无效(所有子查询必须用括号括起来)。
您缺少的是关联子句。我相信你想:
UPDATE CUSTOMER c
SET EMAIL = (SELECT cs.EMAIL
FROM CUSTOMER_SERVICE s
WHERE s.ID = c.CUSTOMER_SERVICE_ID
);
我不知道这应该是什么:[90053-192] 90053/90053 (Hilfe)
。
这篇关于标量子查询包含多行的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文