SQL Bank DB:仅返回具有给定属性的人
Posted
技术标签:
【中文标题】SQL Bank DB:仅返回具有给定属性的人【英文标题】:SQL Bank DB: return only people with a given property 【发布时间】:2014-06-04 10:23:19 【问题描述】:创建了一个银行数据库,这里是 ER 图的链接:http://goo.gl/Auye7X,抱歉,我不能只在问题中发布图片。所以我需要做的是有一个查询返回所有有活期账户但没有储蓄账户的客户。它需要使用假脱机放在一个文件中。到目前为止,这就是我所拥有的:
repheader '客户报告'
repfooter '作者西奥'
列 customerID 标题“客户 ID”
列customerID格式a10
列名称标题“客户名称”
列名格式a10
列 current_acc 标题“经常账户”
列current_acc格式09999
关闭反馈
假脱机客户.txt
选择 c.customerID、c.name、a.UAN、a.balance、a.overdraft
来自客户 c,current_acc a
其中 c.customerID = a.customerID;
关闭
这确实会产生一个输出,但它有一些人也有一个储蓄账户,我只是不确定要输入什么样的逻辑,所以它只显示只有一个活期账户的人。这是 SQLPLUS,我愿意使用 PLSQL。另外,有人可以确认这是正确的假脱机方式吗?
非常感谢所有帮助!
【问题讨论】:
【参考方案1】:试试这个!
select c.customerID, c.name, a.UAN, a.balance, a.overdraft
From customer c join current_acc a
on c.customerID = a.customerID and a ='current account'
【讨论】:
刚试了一下,它回来说 ora-00904:"A": invalid identifier。我在任何一个表中都没有一行存储它的帐户类型。请您再解释一下。感谢您的帮助:D! 您认为使用“减号”关键字可能有用吗? 好的!这是一个连接操作,条件是它应该返回 current_acc a 为Current account
..如果您发布架构 www.sqlfiddle.com 的所有值
抱歉,没有时间再次构建整个架构,因为我明天要考试,我只是尝试在 sqlfiddle.com 中构建一个简单的小表,但这并没有' 甚至不起作用(可能是因为它是 mysql),但是感谢该链接,因为它看起来对将来的使用非常有用!我在 visio 中完成了架构,并且可以上传该文件,如果这有任何用处,我对此表示怀疑。
在 SQLFiddle 上,您可以通过单击当前数据库来更改数据库类型(默认为 MySQL 5.somthing-or-other,我相信)- 下拉列表将下降,您可以选择您想要的想要(Oracle 11g 是最喜欢的:-)。分享和享受。【参考方案2】:
也许是内联视图?像这样的:
select c.customerID, c.name, ca.UAN, ca.balance, ca.overdraft
from customer c, (select * from current_acc
where customer_id not in
(select customer_id from savings_acc)
) ca
where c.customerID = ca.customerID;
【讨论】:
【参考方案3】:试试这个:
select c.customerID, c.name, a.UAN, a.balance, a.overdraft
from customer c, current_acc a
where c.customer_id = a.customer_id
and not exists (select s.customer_id from saving_acc s
where s.customer_id = c.customer_id)
【讨论】:
以上是关于SQL Bank DB:仅返回具有给定属性的人的主要内容,如果未能解决你的问题,请参考以下文章
如何调用具有 IN/OUT 参数并通过 DB Link 返回 BLOB 的 Oracle PL/SQL 函数
如何进行地理距离查询仅返回我尚未“喜欢”的结果、Elastic Search、Dynamo DB