使用order by和limit-mysql在单个查询中更新两个不同表的两列

阿阿比德

询问

 UPDATE vcd_resorts AS resorts, 
           vcd_deals AS deals 
    SET    resorts.rst_live_date = Date_add(Curdate(), INTERVAL 4 day), 
           deals.del_date = Date_add(Curdate(), INTERVAL 4 day) 
    WHERE  0 = (SELECT resort_id_count 
                FROM   (SELECT Count(rst_id) AS resort_id_count 
                        FROM   vcd_resorts 
                        WHERE  rst_supersaver_resort = 1 
                               AND rst_live_date BETWEEN Curdate() + 1 AND 
                                                         Curdate() + 4) 
                       temp) 
           AND resorts.rst_supersaver_resort = 1 
           AND resorts.rst_id = deals.del_resort_id 
           AND deals.del_supersaver_deal = 1 
    ORDER BY resorts.rst_live_date ASC 
    LIMIT 1

错误

#1221-UPDATE和ORDER BY的用法不正确

这和做这件事的任何其他方式有什么问题

阿阿比德

我得到了这个问题的解决方案

UPDATE vcd_resorts AS resorts, 
                vcd_deals AS deals 
                SET    resorts.rst_live_date = Date_add(Curdate(), INTERVAL 4 day), 
                       deals.del_date = Date_add(Curdate(), INTERVAL 4 day) 
                WHERE  0 = (SELECT resort_id_count 
                            FROM   (SELECT Count(rst_id) AS resort_id_count 
                                    FROM   vcd_resorts 
                                    WHERE  rst_supersaver_resort = 1 
                                           AND rst_live_date BETWEEN Curdate() + 1 AND 
                                                                     Curdate() + 4) 
                                   temp) 
                AND resorts.rst_supersaver_resort = 1 
                AND resorts.rst_id = deals.del_resort_id 
                AND deals.del_supersaver_deal = 1 
                AND resorts.rst_id = (SELECT resort_id 
                                    FROM   (SELECT rst_id AS resort_id 
                                             FROM   vcd_resorts 
                                             WHERE  rst_supersaver_resort = 1 
                                             ORDER  BY rst_live_date ASC 
                                             LIMIT  1) temp1)

我已经提出了另外一个条件,该条件将订单替换为和限制

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

使用ORDER BY和LIMIT在SQL中获取错误

使用子查询查看单个表中两个表的不同列

Neo4j:对子查询使用“ order by”和“ limit”

MySql结合了LIMIT和ORDER BY

两个表选择“内部联接”,并按“ order by”,“ where”和“ limit”子句

如何使用mysqli和php(仅使用查询)基于另一个列将两个表中的列连接和求和

如何在单个SQL查询中用两个不同的ID和不同的值更新一列中的两列?

使用CTE和/或ORDER BY比较两个查询的结果

使用两个不同的查询和具有PIVOT的同一表创建一个VIEW,但又增加一个不同的列

使用LIMIT和MySQL进行ORDER BY

如何使用单个Solr实例或Solr模板字段无法正常工作来索引和搜索同一数据源中的两个不同表

在对象化查询中使用“ order”和“ limit”

从两个不同的表中选择行,但使用php和MySQL按日期排序

使用左外部联接和on子句从具有公共列的两个不同表中检索数据

使用Laravel和两个WHERE条件查询两个表

计算使用 order by 和 limit Postgres 的查询的总和

使用mysql order by和limit,同一条记录出现在两页

在mySql中使用多个表和Order By和LIMIT的更新语句

Mysql:在使用 union all 时使用 order by 和 limit 到单独的查询中

我如何使用mysql中的单个查询从两个表中获取数据

Oracle 使用单个查询更新和更改两个表中的几列记录

如何使用 PHP 和 MYSQL 将数据插入到两个不同的表中

使用单个查询从两个不同的 mysql 表中获取数据时遇到问题..!

如何使用 ORDER BY 和 LIMIT 的简单查询解决此问题?

使用 terraform 和 apex 将单个 IAM 策略附加到两个不同区域(同一账户)中的两个不同角色

如何使用 PostgreSQL 中的单个查询将两条相关记录插入到两个不同的表中?

在 JOIN 语句上使用 ORDER BY 和 LIMIT 的 MYSQL UPDATE 查询

使用两个不同的表和 Sequelize 一个接一个地运行查询(序列)

用于显示两个表中的单个列(两个表中的同名列)的 Mysql 命令,使用两个不同的条件