sql - 如何显示至少进行了两次捐赠的行?
问题描述
我不知道如何以正确的方式使用 Count 或 GROUP By 子句,也无法显示超过 2 次捐赠的行。
我对 COUNT 和 GROUP BY 子句进行了失败的尝试。
insert into DD (Donor_ID, Donation_ID, Donation_Type, Donation, Inventory_ID) values
(1, 1, 'Food', 'Oranges', 1); -- **Code to display**
insert into DD (Donor_ID, Donation_ID, Donation_Type, Donation, Inventory_ID) values
(2, 2, 'Currency', 200, 2); -- **Code to display**
insert into DD (Donor_ID, Donation_ID, Donation_Type, Donation, Inventory_ID) values
(2, 3, 'Currency', 300, 2); -- **Code to display**
insert into DD (Donor_ID, Donation_ID, Donation_Type, Donation, Inventory_ID) values
(1, 4, 'Currency', 400, 2); -- **Code to display**
insert into DD (Donor_ID, Donation_ID, Donation_Type, Donation, Inventory_ID) values
(3, 5, 'Currency', 500, 2); -- NOT TOO display
select di.Donor_Name DI,
acz.Address_City ACZ,
dd.Donation_Type DD,
dd.Donation DD,
COUNT(*)
from DI di, ACZ acz, DD dd
where di.Donor_ID = acz.Address_ID
AND (acz.Address_City = 'ATHENS' OR acz.Address_City = 'Watkinsville')
AND di.Donor_ID > 1
GROUP BY di.Donor_Name DI,
acz.Address_City ACZ,
dd.Donation_Type DD,
dd.Donation DD;
我得到的结果是错误 ORA-00933。我想要的结果是要显示的作为“-- 要显示的代码”的注释代码。
解决方案
您的数据样本似乎缺少 DI 和 DD 之间的连接。
不应为表和别名使用相同的名称(整个 SQL 代码不区分大小写)。
您应该使用显式连接语法(而不是基于 1992 年的旧隐式连接语法where
)并且至少可以使用两次捐赠having count(*) > 1
。
select di.Donor_Name DI,
acz.Address_City ACZ,
dd.Donation_Type DD,
dd.Donation DD,
COUNT(*)
from DI
INNER JOIN ACZ ON di.Donor_ID = acz.Address_ID
AND (acz.Address_City = 'ATHENS' OR acz.Address_City = 'Watkinsville')
AND di.Donor_ID > 1
INNER JOIN DD ON DD.Donor_ID = di.Donor_ID
GROUP BY di.Donor_Name DI,
acz.Address_City ACZ,
dd.Donation_Type DD,
dd.Donation DD
HAVING count(*) > 1
推荐阅读
- reactjs - React 开始登陆 url
- android - 如何从联系人那里获取电子邮件
- spring-boot - Spring Boot 2 Security在登录时下载字体文件
- python - 在 Python 中拆分响应
- python - 我应该使用字典还是系列来保存一堆数据框?
- java - 如何附加到实时数据库中的数组列表?
- elasticsearch - 如何通过命令行获取 Kibana 索引模式的描述?
- xcode - 什么框架访问需要 NSBluetoothPeripheralUsageDescription 密钥的敏感用户数据
- python - Python - 如何同时使用 OpenCV2 和 OpenCV3
- php - Silverstripe 3 表格未执行