mysql 脚本将查询输出添加为另一个查询的输入

标签 mysql sql stored-procedures cursor

我正在尝试在 MySQL 中编写几个需要执行以下操作的查询: 这里的查询将返回所有满足 caseid=702 且来自另一个表的联接的记录。

SELECT db.tab1.id as id
  FROM db.tab1 JOIN db.tab2
    ON db.tab1.caseid = db.tab2.padid
 WHERE db.tab1.caseid=702

我想获取此查询的输出并将其作为数组插入到另一个表 t3 的 UPDATE 语句中。

如何在 MySQL 上执行此操作?我读过一些关于 Cursor 的资源,还是我必须为其编写存储过程?

谢谢

最佳答案

关于:

update table_a set col1 = value1
  where id in (
    SELECT db.tab1.id as id
      FROM db.tab1 JOIN db.tab2
        ON db.tab1.caseid = db.tab2.padid
     WHERE db.tab1.caseid=702
  );

第二轮:我冒昧地重构了你的查询。我希望它有帮助:

update evou e
  set status = 1234 
  where vid in (
    SELECT vid 
      FROM pay p
      where p.resoncode = 222 
        and p.vid = e.vid
    )
  and e.status=70006

关于mysql 脚本将查询输出添加为另一个查询的输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50533935/

相关文章:

sql - 从java调用带有表值参数的存储过程

MySQL 错误 150 无法将流派作为外键从流派表分配到专辑表中

mysql - 如何根据自增字段为字段值编写MySQL INSERT触发器?

sql - Oracle 到 Postgresql 查询转换

mysql - 在MySQL中,如何对左连接语句使用子查询?

c# - 从 NHibernate 调用存储过程并检索 @@ROWCOUNT

Azure CosmosDB : stored procedure delete documents based on query

php - 无法在 MYSQL 中输入土耳其语字符

MySQL 5 左连接未知列

mysql - SQL - 比较同一列中的日期