从另一个表的SELECT更新列

时间:2020-05-10 04:05:03

标签: mysql

我一直试图通过从一个表到另一个表的选择来更新基于组的列。 set语句上的以下子查询仅适用于一个日期,因为如果使用日期范围,则会出现错误“子查询返回多于1行”。

相反,我想在一个日期范围内运行该日期,以获取每天的分组依据(从“ Monthly”表中),每天将每个匹配的行插入“ Dayfile”表中。 dayfile表中的每个日期都有一行,以“ LogDate列”作为日期,月表是一个分钟一分钟的日志文件,其中“ LogDateTime”数据类型为datetime。

UPDATE
    Dayfile
SET
    MaxFeelsLike = 
         (SELECT MAX(FeelsLike)
          FROM Monthly, Dayfile
          WHERE DATE(LogDateTime) = "2018-10-04"
          AND DATE(LogDateTime) = DATE(LogDate)
          GROUP BY DATE(LogDateTime)
         );

2 个答案:

答案 0 :(得分:0)

在子查询末尾添加LIMIT 1

答案 1 :(得分:0)

您应该使用JOIN而不是将子查询用作值。

extension HighlightedText {
    func defaultFont(_ font: Font) -> Self {
        var view = self
        view.defaultFount = font
        return view
    }

    func highlightedFont(_ font: Font) -> Self {
        var view = self
        view.highlightedFont = font
        return view
    }
}