mysql - 获取错误 SQL Server 子查询返回超过 1 个值。当子查询跟在=、!=、<、<=、>、>=之后时,这是不允许的

标签 mysql sql sql-server

我运行以下查询

CREATE TRIGGER ubahjumlahupah ON tbl_pkrjbhn
AFTER UPDATE
AS
UPDATE tbl_hitash SET
jumlah_upah = (SELECT (tbl_pkrjbhn.harga_satuan*tbl_hitash.upah_hitash)
               FROM tbl_hitash, tbl_pkrjbhn 
               WHERE tbl_hitash.id_pkrjbhn = tbl_pkrjbhn.id_pkrjbhn)
FROM tbl_hitash

但我收到错误:(

最佳答案

问题很明显:您的 SELECT 结果返回多个值,因此查询结果为:

CREATE ...
 ...    
UPDATE ... SET
jumlah_upah = (more than one value)

因此,您需要确保 SELECT 命令返回单个值,以便可以将其分配给 jumlah_upah 变量。

关于mysql - 获取错误 SQL Server 子查询返回超过 1 个值。当子查询跟在=、!=、<、<=、>、>=之后时,这是不允许的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41453822/

相关文章:

Mysql REGEXP 2 words -- 与 AND LIKE 相同

sql - 将查询转换为 View 或表值函数

mysql - 在 mysql < 8 中获取树文件夹结构的父项和子项并且没有 CTE

mysql - AWS lambda 处理程序和 MySQL 数据库。第一个客户端连接插入的行对第二个客户端连接不可见

sql - `unknown` 和类型推断的规则是什么?

sql - 从数据库中获取架构(用户)名称

sql-server - T-SQL 脚本删除一个模式中的一组表与另一个模式中的其他表之间的所有关系?

c# - 具有 CLR 函数的 System.Security.SecurityException

c++ - 不能包含 mysql

三层架构中的 ASP.Net session 存储提供程序