首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Access查询选择

Access查询选择
EN

Stack Overflow用户
提问于 2013-04-05 14:51:55
回答 1查看 34关注 0票数 1

我需要一个关于Access数据库的查询帮助,我不知道该怎么做。我有一个数据库,其中包含一个存储疾病名称和ID的表,另一个名为Symptoms的数据库存储症状名称和ID,另一个名为SymptomsDiseases的数据库将症状与给定的疾病相关联。我想要做的是获得所有具有给定症状集的疾病,例如具有ID为3、4和5的症状的疾病。我应该如何使用SQL查询来解决这个问题?以下是表和字段:

1)疾病

IdDisease

DiseaseName

2)症状

IdSymptom

SymptonName

3) SymptomsDiseases

IdDiseases_fk

IdSymptoms_fk

例如,在此表中的=>:

IdDisease_fk || IdSymptoms_fk

6 || 4

6 || 5

6 || 3

6 || 7

6 || 8

4 || 10

4 || 11

4 || 4

4 || 5

4 || 3

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-04-05 14:56:17

这种类型的技术称为Relational Division

代码语言:javascript
运行
复制
SELECT  a.IdDisease,
        a.DiseaseName
FROM    Diseases AS a
        INNER JOIN SymptomsDiseases as B
            ON a.IdDisease = b.IdDiseases_fk
WHERE   b.IdSymptoms_fk IN (3,4,5)               -- <<== list of ID of Symptoms
GROUP   BY a.IdDisease, a.DiseaseName
HAVING  COUNT(*) = 3                             -- <<== number of symptoms

  • SQL of Relational Division
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15827619

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档