Sql 如何用乘法函数更新表?

Sql 如何用乘法函数更新表?,sql,sql-server,Sql,Sql Server,当我尝试使用此查询更新我的表时 update sekolah set [rata-rata] = (select ([total siswa]*12) from sekolah where [class]='7IPA' and month([Date]) = 08) where [class]='7IPA' and month([Date]) = 08 信息是: 子查询返回了多个值。这是不允许的,因为 子查询后面是=,!=,=或者当子查询用作 表情 更新 我的桌子是塞科拉 我的专业是: 阶

当我尝试使用此查询更新我的表时

update sekolah set [rata-rata] = 
(select ([total siswa]*12) from sekolah
where [class]='7IPA' and month([Date]) = 08) 
where [class]='7IPA' and month([Date]) = 08
信息是:

子查询返回了多个值。这是不允许的,因为 子查询后面是=,!=,=或者当子查询用作 表情

更新 我的桌子是塞科拉

我的专业是:

阶级 月 西斯瓦总数
rata rata

如果两者都是同一个表,则将有助于:

UPDATE s SET s.rata-rata = (s.[total siswa]*12)
FROM sekolah s
where s.class='7IPA' and month(s.Date) = 08 


如果两者都是同一个表,则将有助于:

UPDATE s SET s.rata-rata = (s.[total siswa]*12)
FROM sekolah s
where s.class='7IPA' and month(s.Date) = 08 


错误原因是显而易见的。这意味着,嵌套查询将获取多行,而Update语句只查找一个值

两种解决方案

  • 使用SELECT TOP 1语句在嵌套sql中提取单个值
  • 从类表中删除重复项

    update sekolah set [rata-rata] = 
    (select TOP 1 ([total siswa]*12) from class where [class]='7IPA' and     month([Date]) = 08) 
    where [class]='7IPA' and month([Date]) = 08
    

  • 错误原因是显而易见的。这意味着,嵌套查询将获取多行,而Update语句只查找一个值

    两种解决方案

  • 使用SELECT TOP 1语句在嵌套sql中提取单个值
  • 从类表中删除重复项

    update sekolah set [rata-rata] = 
    (select TOP 1 ([total siswa]*12) from class where [class]='7IPA' and     month([Date]) = 08) 
    where [class]='7IPA' and month([Date]) = 08
    

  • 更新sekolah t1加入sekolah t2 在t1.class='71PA'和t2.month='08'
    设置t1.rata rata=(t1.[total siswa]*12)

    更新sekolah t1加入sekolah t2 在t1.class='71PA'和t2.month='08'

    设置t1.rata rata=(t1.[total siswa]*12)

    它表示
    表有多条记录用于此过滤器
    [Class]='7IPA'和月([Date])=08
    添加一些示例表数据,更新之前和之后的两个版本。您能说出sekolah和class表之间的公共列是什么吗?sekolah和class是同一个表对不起,我的表是sekolah我的字段是class,total siswa和dateIt说
    class
    table有多条记录用于此筛选器
    [class]='7IPA'和month([Date])=08
    添加一些示例表数据,包括更新前后的两个版本。您能说出sekolah和class表之间的公共列是什么吗?sekolah和class是同一个表对不起,我的表是sekolah我的字段是class、total siswa和DateThank@suraz我尝试了您的解决方案,但我找到了消息“无效的对象名‘class’”,我尝试将“class c”更改为“sekolah c”,但结果是一样的all@gufran如果您只有一个表sekolah和更新的rata_rata列,请尝试使用上面更新的一个。谢谢@suraz我尝试了您的解决方案,但我发现消息“无效的对象名称'class'。”并且我尝试用但结果是一样的all@gufran如果您只有一个表sekolah和更新的rata_rata列,请尝试使用上面更新的表。您能给我发邮件吗1.错误消息2.嵌套查询的输出从类中选择前1位([total siswa]*12),其中[class]='7IPA'和月([Date])=08你能给我发帖子吗1.错误消息2.嵌套查询的输出从类中选择前1名([total siswa]*12),其中[class]='7IPA'和月([Date])=08语法看起来像
    MySQL
    ,OP要求
    SQL Server
    语法看起来像
    MySQL
    ,OP要求
    SQL Server