gpt4 book ai didi

使用 Inner Join 的 MySQL 查询返回存储过程中的所有记录

转载 作者:行者123 更新时间:2023-11-29 08:25:13 25 4
gpt4 key购买 nike

我有一个数据库,在其中使用内部联接返回一组更有用的信息。当我运行时:

SELECT `invoices`.`property`,`invoices`.`invoice_number`,`invoices`.`date`,`customers`.`company_name`,`invoices`.`total`
FROM `invoices`
INNER JOIN `customers` ON `invoices`.`customer` = `customers`.`customer_id`
WHERE `invoices`.`property` = 'CGC' ORDER BY `invoices`.`date` DESC;

就其本身而言,我得到的结果正是我所期望的。

enter image description here

但是当我使用相同的查询创建存储过程并接受单个参数时,a:

DELIMITER $$

USE `techrentals`$$

DROP PROCEDURE IF EXISTS `getInvoiceList`$$

CREATE DEFINER=`root`@`%` PROCEDURE `getInvoiceList`(IN prop_id INT)
BEGIN
SELECT `invoices`.`property`,`invoices`.`invoice_number`,`invoices`.`date`,`customers`.`company_name`,`invoices`.`total`
FROM `invoices`
INNER JOIN `customers` ON `invoices`.`customer` = `customers`.`customer_id`
WHERE `invoices`.`property` = prop_id ORDER BY `invoices`.`date` DESC;
END$$

DELIMITER ;

然后我执行该存储过程:

CALL getInvoiceList('CGC');

它返回集合中的每张发票。

enter image description here

知道为什么它不返回完全相同的集合吗?我不是 MySQL 专家,但在我看来,它们在功能上应该是相同的。

提前致谢。

最佳答案

您将参数类型声明为 int,但在调用中传递一个字符串。

关于使用 Inner Join 的 MySQL 查询返回存储过程中的所有记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18157538/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com