mysql写存储查看两张表格不同,具有来自不同表的多个Select语句的MySQL存储过程...

该博客讲述了如何在MySQL 5.6.11的存储过程中从不同表中执行多选操作,最初尝试只返回了第一个查询结果。作者分享了一种解决方案,通过子查询和AS关键字获取两个表的总和,但结果集合并成了一行。讨论了问题及解决策略,适合数据库开发者了解MySQL存储过程的复杂查询处理。
摘要由CSDN通过智能技术生成

I'm trying to do multiple selects from different tables in a mysql stored procedure as follows

DELIMITER //

CREATE PROCEDURE `NovemberSummary`(IN `branch` VARCHAR(60), IN `year` INT) NOT

DETERMINISTIC CONTAINS SQL SQL SECURITY DEFINER

BEGIN

select sum(sales.amount) as Sales from sales where month (sales.date)= 11 and

sales.branch = branch;

select sum(expenses.amount) as Expenses from expenses where month(expenses.date)= 11

and expenses.branch = branch;

END

But It returns only The first Select, as In result set only contains Sales Column.

MySQL Version is 5.6.11 - MySQL Community Server

解决方案

Try this approach:

DELIMITER //

CREATE PROCEDURE `NovemberSummary`(IN `branch` VARCHAR(60), IN `year` INT) NOT

DETERMINISTIC CONTAINS SQL SQL SECURITY DEFINER

BEGIN

SELECT

( select sum(sales.amount) from sales

where month (sales.date)= 11 and sales.branch = branch ) as Sales ,

( select sum(expenses.amount) from expenses

where month(expenses.date)= 11 and expenses.branch = branch ) as Expenses

;

END

this procedure returns only one resultset that contains two columns: Sales + Expenses:

+-------+----------+

| Sales | Expenses |

+-------+----------+

| 20 | 15 |

+-------+----------+

, instead of two resultsets with only one column.

+-------+

| Sales |

+-------+

| 20 |

+-------+

+----------+

| Expenses |

+----------+

| 15 |

+----------+

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值