【问题标题】:Oracle SQL syntaxOracle SQL 语法
【发布时间】:2018-08-07 18:57:27
【问题描述】:

这是我的表结构。在尝试使不同的事情发挥作用时,我遇到了很多问题。

  1. 如何将值输入到 Monday = 62 的任务中?

    INSERT INTO it_time_track (task,percentage)
    VALUES ('Support',null) where Monday=62; commit ;
    

这给了我一个错误

-- 我通过在 Oracle Apex 上将其设置为交互式网格并进行选择以显示此表来修复它,然后我继续手动编辑它。

【问题讨论】:

  • 您可能想要UPDATE 而不是INSERT。看起来你有两个非常不同且不相关的问题。随意分开,我们不收取任何额外费用。
  • INSERT 创建一条新记录。你已经有一行Monday = 62,所以你想UPDATE它。另外......这个表看起来像是有人把他们的数据库表误认为是一个 excel 电子表格,这几乎肯定会导致你“在尝试使不同的事情工作时遇到很多问题。”
  • 相反,该表的结构应该是id | percentage | day_of_week | value,您的daily total 将通过SQL 派生,而不是存储在表中。

标签: sql oracle oracle11g oracle-sqldeveloper


【解决方案1】:
UPDATE it_time_track 
SET Monday = (SELECT SUM(Monday)  
                  FROM it_time_track 
                  ) 
WHERE Id = 7

【讨论】:

  • [Code: 934, SQL State: 42000] ORA-00934: group function is not allowed here
  • 为什么里面有sum()
  • 因为我们要对星期一列中的值求和
  • 我如何从 SQL 导出每日总数
  • 我的错。我忘记了总体限制。您希望星期一的 SUM 出现在 ID 7 中,对吗?我已经更新了我的答案。
猜你喜欢
  • 2019-01-15
  • 1970-01-01
  • 1970-01-01
  • 2020-07-21
  • 1970-01-01
  • 1970-01-01
  • 2018-04-24
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多