mysql脚本,将查询输出作为输入添加到另一个查询

pdtvr36n  于 2021-06-23  发布在  Mysql
关注(0)|答案(2)|浏览(430)

我尝试在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上读到的资源很少,还是必须为它编写存储过程?
谢谢

ijnw1ujt

ijnw1ujt1#

从联接更新如下:

update a set a.yourcolumn=a.newcolumnvalue 
     from t3 a join (
     SELECT db.tab1.id as id
      FROM db.tab1 JOIN db.tab2
        ON db.tab1.caseid = db.tab2.padid
     WHERE db.tab1.caseid=702)b
     on a.id=b.id
vshtjzan

vshtjzan2#

关于:

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

相关问题