mysql 用于将查询输出作为输入添加到另一个查询的脚本
mysql script to add query output as input to another query
我正在尝试在 MySQL 中编写几个需要执行以下操作的查询:
此处的查询将 return 满足 caseid=702 的所有记录以及来自另一个 table.
的连接
SELECT db.tab1.id as id
FROM db.tab1 JOIN db.tab2
ON db.tab1.caseid = db.tab2.padid
WHERE db.tab1.caseid=702
我想获取此查询的输出并将其作为数组插入到另一个 table 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
像这样从连接更新:
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
我正在尝试在 MySQL 中编写几个需要执行以下操作的查询: 此处的查询将 return 满足 caseid=702 的所有记录以及来自另一个 table.
的连接SELECT db.tab1.id as id
FROM db.tab1 JOIN db.tab2
ON db.tab1.caseid = db.tab2.padid
WHERE db.tab1.caseid=702
我想获取此查询的输出并将其作为数组插入到另一个 table 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
像这样从连接更新:
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