gpt4 book ai didi

mysql - 从表中选择多个不同的值并评估它们以匹配表中的值

转载 作者:太空宇宙 更新时间:2023-11-03 11:48:11 25 4
gpt4 key购买 nike

我在尝试弄清楚如何选择具有多个值的多个记录时遇到了一些麻烦。让我试着分解一下。

我有两个表。

表 1:疾病

enter image description here

表 2:症状

enter image description here

我想做的是当用户输入症状时,它会遍历疾病表并找到与其相关的匹配症状,然后返回具有给定症状的疾病。

这是我目前的 SQL 查询:

select a.diseases_id, a.disease_name
from diseases a, symtoms b
where a.diseases_id = b.diseases_id
and b.symtom_description like '%Cough%' AND b.symtom_description like '%Sore throat%';

现在的问题是这个 SQL 查询什么都不返回,但是如果我删除 AND 语句,它会返回所有症状中包含“咳嗽”的疾病,但这不是我想要的。我应该能够选择一堆症状,如果一种疾病具有所有给出的症状并且它们匹配,它将返回该疾病。对于我发布的查询,它应该返回“胃食管反流”,因为这种疾病只包含咳嗽喉咙痛。

任何人都可以告诉我如何使这项工作成功吗?

谢谢!

最佳答案

没有包含“咳嗽”“喉咙痛”的行,因此您当然会得到一个空结果。

我会尝试这样的事情(未经测试):

select a.diseases_id, a.disease_name, b.symtom_description
from diseases a, symtoms b
where a.diseases_id = b.diseases_id
and (b.symtom_description like '%Cough%' OR b.symtom_description like '%Sore throat%')
group by a.diseases_id
having count(a.diseases_id)=2

关于mysql - 从表中选择多个不同的值并评估它们以匹配表中的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37215423/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com