gpt4 book ai didi

android - 有没有根据症状返回疾病类型的查询

转载 作者:行者123 更新时间:2023-11-29 22:37:02 25 4
gpt4 key购买 nike

我正在使用一个会显示疾病的安卓健康应用程序。因为我有三个表,例如症状、疾病和将链接这两个表的 symptom_disease 表。用户输入头晕、晕厥、乏力等症状,就会显示高血压病。我如何编写查询来区分这个东西?以及如何实现。

最佳答案

这个如何完成的简单示例:-

这些表:-

create table if not exists symptoms (id integer primary key, symptom text unique);
create table if not exists diseases (id integer primary key, disease text unique);
create table if not exists symptom_disease (diseaseid integer not null, symptomid integer not null, primary key(symptomid,diseaseid));

这是放入表中的数据:-

insert into diseases (disease) values ('cold'),('flu'),('hypertensive disease'),('vertigo');
insert into symptoms (symptom) values('dizziness'),('syncope'),('asthenia'),('headache'),('coughing'),('sorethroat'),('fever');
insert into symptom_disease values (3,1),(3,2),(3,3),(1,4),(2,4),(1,5),(2,5),(1,6),(2,6),(2,7),(4,1);

这会获取头晕或晕厥或以哮喘开始的症状的疾病数据:-

select disease, count() AS rating
from diseases
join symptom_disease on diseases.id = diseaseid
join symptoms on symptomid = symptoms.id
where symptom = 'dizziness' or symptom = 'syncope' or symptom like 'asth%'
group by disease
order by rating desc
;

得到

hypertensive disease    3
vertigo 1

最有可能是高血压病,因为它有 3 个症状

你可以创建外键,这样 symptom_disease 表就不会有坏数据

create table if not exists symptom_disease (
diseaseid integer not null references diseases(id) on delete cascade on update cascade ,
symptomid integer not null references symptoms(id) on delete cascade on update cascade,
primary key(symptomid,diseaseid));

使用外键需要开启外键。

关于android - 有没有根据症状返回疾病类型的查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59414751/

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