改为临时表关联查询: select match_id from detection_data where match_id in( <foreach collection="matchIdList" item="item" index="index" separator=","> #{item} </foreach>)
时间: 2024-01-11 07:02:27 浏览: 67
通过临时表查询结果,来更新关联表
好的,如果要使用临时表关联查询,可以将查询语句改写为以下形式:
```
CREATE TEMPORARY TABLE tmp_match_id_list (
match_id INT NOT NULL
);
INSERT INTO tmp_match_id_list (match_id)
VALUES
<foreach collection="matchIdList" item="item" index="index" separator=",">
(#{item})
</foreach>;
SELECT match_id
FROM detection_data AS dd
INNER JOIN tmp_match_id_list AS tmp
ON dd.match_id = tmp.match_id;
```
这里我们首先创建了一个临时表 `tmp_match_id_list`,并将需要查询的 `match_id` 插入到该表中。然后,我们使用 `INNER JOIN` 将 `detection_data` 表与临时表 `tmp_match_id_list` 关联起来,只查询两个表中 `match_id` 相等的记录,从而得到最终结果。
阅读全文