mysql怎样将查询出来的结果作为条件再进行循环查询
时间: 2023-02-10 16:11:27 浏览: 59
你可以使用 MySQL 的 `IN` 子句,将查询结果中的值用作条件,再进行循环查询。
例如:
```
SELECT * FROM table1 WHERE col1 IN (SELECT col2 FROM table2 WHERE ...);
```
这样就可以使用查询出来的结果作为条件,再进行循环查询。
如果你想要进行多次循环查询,你可以使用 MySQL 的存储过程。例如:
```
CREATE PROCEDURE loop_procedure()
BEGIN
DECLARE done INT DEFAULT FALSE;
DECLARE a INT;
DECLARE b, c INT;
DECLARE cur1 CURSOR FOR SELECT col1 FROM table1 WHERE ...;
DECLARE cur2 CURSOR FOR SELECT col2 FROM table2 WHERE ...;
DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE;
OPEN cur1;
OPEN cur2;
read_loop: LOOP
FETCH cur1 INTO a;
IF done THEN
LEAVE read_loop;
END IF;
SET b = (SELECT col2 FROM table2 WHERE ...);
INSERT INTO result_table (a, b) VALUES (a, b);
END LOOP;
CLOSE cur1;
CLOSE cur2;
END
```
在这个存储过程中,我们定义了两个游标 `cur1` 和 `cur2`,并使用 `LOOP` 语句进行循环,然后使用 `FETCH` 语句从游标中获取数据,并使用 `INSERT` 语句将结果插入到另一个表中。
这样就可以使用 MySQL 实现循环查询了。希望这对你有帮助。