这是我在这一页上的第一个问题,如果我在一些事情上不具体或我没有完全解释好自己,对不起,而且英语不是我的母语,所以我可能会犯一些语法错误,所以我很抱歉提前。
好的,我在mysql中使用一个数据库,我在尝试获取一个查询并返回我想要的东西时遇到了问题,可能是因为我的知识不够。。。
好吧,我有两个表,疾病和症状有一个多对多的关系,也就是说,一种疾病可以有一个或多个症状,反之亦然。这将导致生成另一个链接前两个的表,即(该表称为diseases\u diagnosis):
表1-1诊断
好的,现在问题来了,我想使用与我通过的确切症状相对应的id\u enfermedade(如果它有一个以上或一个以下的症状,它不应该返回该疾病),我的意思是,我只是一个系统返回与我介绍的确切症状相匹配的疾病。这是我拿到的真正的table:
问题是:如果我通过了症状2和6,它应该返回这个:
但我希望它只是返回,如果确切的症状匹配,我的意思是,如果有另一种疾病有相同的症状加上另一个,系统应该忽略它,例如:
如果我们通过:1,2,3,4,5,6,7它应该返回6
但是如果我们通过1,2,3,4,5,6,它应该返回null或空,因为没有疾病具有这些确切的症状
正如我前面提到的,我的sql级别非常低,无法接近。
当我不能应付这种水平的事情时,我有点沮丧,所以我希望有人能帮助我。
2条答案
按热度按时间bogh5gae1#
一种方法是使用
group by
以及having
这样地:或者,您可以表示
HAVING
作为:这使得作为单个参数传入列表更容易。
chhqkbe12#
通过查看表结构,不应该是这样的吗:
它将返回“a”。