简体   繁体   English

如何在特定列上不匹配的 select 行(sqlite)

[英]How do I select rows that are not matched on specific column (sqlite)

Ok hopefully my table works, I've never posted here before, but I'm trying to find who has received doses of more than one type of vaccine from this table (all details are dummy data, not real people or id numbers etc)好的,希望我的表格可以正常工作,我以前从未在这里发布过,但我试图从这张表格中找出谁接受了不止一种疫苗的剂量(所有细节都是虚拟数据,不是真实的人或身份证号码等)

NHI_id NHI_id fname名称 lname名字 vaccine_name疫苗名称 vac_date vac_date
16120428 16120428 Clayton克莱顿 Marsh沼泽 Comirnaty通讯 2021-03-20 2021-03-20
16120428 16120428 Clayton克莱顿 Marsh沼泽 Janssen詹森 2021-04-01 2021-04-01
16120430 16120430 Dillon狄龙 Richards理查兹 Comirnaty通讯 2021-03-20 2021-03-20
16120430 16120430 Dillon狄龙 Richards理查兹 Comirnaty通讯 2021-04-10 2021-04-10
16120432 16120432 Giselle吉赛尔 Miles英里 Janssen詹森 2021-04-15 2021-04-15
16120433 16120433 Taylor泰勒 Buckley巴克利 Comirnaty通讯 2021-03-20 2021-03-20
16120434 16120434 Kermit克米特 Greene格林 Janssen詹森 2021-04-15 2021-04-15
16120435 16120435 Harrison哈里森 Dorsey多尔西 Janssen詹森 021-04-15 021-04-15

So Clayton March is the only person who has received doses of different vaccines and I'm trying show that with a query.所以克莱顿·马奇是唯一一个接种过不同剂量疫苗的人,我试图通过询问来证明这一点。 I got the above table with the following query:我通过以下查询获得了上表:

SELECT NHI_id, fname, lname, vaccine_name, vac_date
FROM Patients
NATURAL JOIN Vaccinations
NATURAL JOIN Vaccines

and I've been able to query everyone who has received two doses of any vaccine, but I'm having trouble then narrowing it down to doses of DIFFERENT vaccines.我已经能够查询所有接种过两剂任何疫苗的人,但我无法将其范围缩小到不同剂量的疫苗。

Something like就像是

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

should do it.应该这样做。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM