这是一个家庭作业问题。
Customer(customer_id, customer_name, address, phone)
Account(bank_name, account_num, balance)
Has-Account(customer_id, bank_name, account_num)我正在尝试编写一个游标,用于为每个客户返回客户的id、名称、电话号码、银行名称以及每个银行的客户账户总额。
CURSOR cust_balance IS
SELECT 我尝试过的:
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 如何计算此查询中每个银行的客户账户合计?
发布于 2015-12-08 13:27:42
要使用游标,您需要声明一个变量来存储您感兴趣的每个字段。虽然这是可能的,但使用聚合函数可能更容易,按customer_id和一些银行字段分组。您是否已经尝试过此操作,或者赋值是否严格要求使用游标。一般来说,在SELECT中处理这类操作比在游标脚本中处理要好。
我相信下面的代码应该可以为您工作,但是我没有可用的DB引擎来测试它。您当然可以在w3学校中使用SUM函数查找,但我相信它在大多数SQL平台上都是常见的:
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 https://stackoverflow.com/questions/34148523
复制相似问题