sql - 如何选择特定列上不匹配的行(sqlite)
问题描述
好的,希望我的表格可以正常工作,我以前从未在这里发布过,但我试图从这张表格中找出谁接受了不止一种疫苗的剂量(所有细节都是虚拟数据,不是真实的人或身份证号码等)
NHI_id | 名称 | 名字 | 疫苗名称 | vac_date |
---|---|---|---|---|
16120428 | 克莱顿 | 沼泽 | 通讯 | 2021-03-20 |
16120428 | 克莱顿 | 沼泽 | 詹森 | 2021-04-01 |
16120430 | 狄龙 | 理查兹 | 通讯 | 2021-03-20 |
16120430 | 狄龙 | 理查兹 | 通讯 | 2021-04-10 |
16120432 | 吉赛尔 | 英里 | 詹森 | 2021-04-15 |
16120433 | 泰勒 | 巴克利 | 通讯 | 2021-03-20 |
16120434 | 克米特 | 格林 | 詹森 | 2021-04-15 |
16120435 | 哈里森 | 多尔西 | 詹森 | 021-04-15 |
所以克莱顿·马奇是唯一一个接种过不同剂量疫苗的人,我试图通过询问来证明这一点。我通过以下查询获得了上表:
SELECT NHI_id, fname, lname, vaccine_name, vac_date
FROM Patients
NATURAL JOIN Vaccinations
NATURAL JOIN Vaccines
我已经能够查询所有接种过两剂任何疫苗的人,但我无法将其范围缩小到不同剂量的疫苗。
解决方案
就像是
SELECT NHI_id, fname, lname
FROM Patients
NATURAL JOIN Vaccinations
NATURAL JOIN Vaccines
GROUP BY NHI_id, fname, lname
HAVING count(DISTINCT vaccine_name) > 1
应该这样做。
推荐阅读
- javascript - 当 Html 复选框未选中时,有什么方法可以在 Javascript 中触发事件?
- python - 如何处理通过 HTTP 请求发送的类实例?
- mysql - mySQL 对非常大的表进行分组以消除重复
- javascript - 如何使用来自 json 对象的数据填充“多选”?
- gradle - 当我的应用程序依赖于依赖于不同 micronaut 版本的库时,找不到匹配的 micronaut-bom 变体
- intellij-idea - 有没有办法用 Brew 安装旧版本的 IntelliJ?
- flutter - 在 Android 移动应用中实现多个过滤器的简单方法
- python - ValueError:linprog 的输入无效
- python - 工作目录未配置 Visual Studio 2019
- docker - 在 docker 中设置 zeppelin 而不使用内置图像