我正在尝试使用多个SELECT语句创建MySQL PROCEDURE。在当前状态下,PROCEDURE仅返回第一个查询的结果,而不返回第二个查询的结果。
守则:
CREATE PROCEDURE `GETPRODUCT`( productid INT ) DETERMINISTIC READS SQL DATA
SELECT DISTINCT product.id, product.name, product.price FROM products WHERE products.id = productid;
SELECT DISTINCT a.id, a.date, a.pid, a.uid, a.review, b.username FROM reviews a JOIN users b ON a.uid = b.id WHERE a.pid = ? ORDER BY a.date DESC LIMIT 0, 11;
END$
CALL GETPRODUCT( 1 );
基本上,第一个查询获取产品信息,第二个查询是一个JOIN查询,它从评论表中获取评论,并从users表中获取用户的名称。
PROCEDURE已成功创建,我可以成功调用PROCEDURE,但只返回第一个PROCEDURE的结果。两个表中都有匹配的信息。有没有理由不返回所有信息?