首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >学校作业-银行账户-光标

学校作业-银行账户-光标
EN

Stack Overflow用户
提问于 2015-12-08 13:17:21
回答 1查看 91关注 0票数 0

这是一个家庭作业问题。

代码语言:javascript
复制
Customer(customer_id, customer_name, address, phone)
Account(bank_name, account_num, balance)
Has-Account(customer_id, bank_name, account_num)

我正在尝试编写一个游标,用于为每个客户返回客户的id、名称、电话号码、银行名称以及每个银行的客户账户总额。

代码语言:javascript
复制
CURSOR cust_balance IS
    SELECT 

我尝试过的:

代码语言:javascript
复制
Select customer_id, customer_name, phone, bank_name, count(account_num) over (partition by bank_name) from Customer, 
Account , Has-Account where Customer.customer_id = Has-Account.customer_id 
AND Account.account_num = Has-Account.account_num and Account.bank_name = Has-Account.bank_name 

如何计算此查询中每个银行的客户账户合计?

EN

回答 1

Stack Overflow用户

发布于 2015-12-08 13:27:42

要使用游标,您需要声明一个变量来存储您感兴趣的每个字段。虽然这是可能的,但使用聚合函数可能更容易,按customer_id和一些银行字段分组。您是否已经尝试过此操作,或者赋值是否严格要求使用游标。一般来说,在SELECT中处理这类操作比在游标脚本中处理要好。

我相信下面的代码应该可以为您工作,但是我没有可用的DB引擎来测试它。您当然可以在w3学校中使用SUM函数查找,但我相信它在大多数SQL平台上都是常见的:

代码语言:javascript
复制
SELECT
C.customer_name,
A.bank_name,
SUM(a.balance)  AS 'balance'
FROM Customer AS c 
    INNER JOIN Has-Account AS ha ON c.customer_id = ha.customer_id
    INNER JOIN Account AS a ON (
        ha.bank_name = a.bank_name AND ha.account_num = a.account_num
    )
GROUP BY C.customer_id 
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34148523

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档