在mysql中,有没有什么办法可以在同一过程中将第一个查询的结果作为第二个查询的参数?

最佳答案

是的,您可以只需要声明变量并根据第一个查询的结果设置值:

DELIMITER //
 CREATE PROCEDURE myProc()
   BEGIN
        DECLARE productname VARCHAR(100);
        SET productname = (SELECT product FROM products WHERE product_id = 1);

        SELECT * FROM otherproducttable WHERE product = productname;
   END //
 DELIMITER ;


要么

DELIMITER //
 CREATE PROCEDURE myProc()
   BEGIN
        DECLARE productname VARCHAR(100);
        SELECT product INTO productname FROM products WHERE product_id = 1;

        SELECT * FROM otherproducttable WHERE product = productname;
   END //
 DELIMITER ;

关于php - MySQL中过程中的多个查询,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30477884/

10-11 03:38