【发布时间】:2015-05-27 09:07:13
【问题描述】:
在 mysql 中有什么方法可以让我在同一过程中将第一个查询的结果作为第二个查询的参数?
【问题讨论】:
-
你可以使用子查询
在 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 ;
【讨论】: