我正在與Android的健康應用程序,它將顯示人體部位,如頭部,胸部等工作。現在我有三個表,如症狀,疾病和症狀_disease表將鏈接這兩個表。如果用戶選擇頭暈,暈厥,虛弱等症狀,則會顯示高血壓病。但是當用戶選擇只有一種症狀時會出現問題,比如說頭暈,它也會顯示相同的疾病。我如何區分這些東西?以及如何實施它。症狀及其疾病數據庫設計
這是我的症狀表
s_id | s_name | s_part
1 |dizziness | Head
2 |syncope | Head
3 |asthenia | Head
疾病表
d_id | d_name | d_desc
1 |hypertensive disease| ....
Symptom_disease表
s_id | d_id
1 | 1
2 | 1
3 | 1
我使用此查詢來獲取疾病
SELECT d.d_name, d.d_desc, s.symp_name
FROM symtoms s
LEFT JOIN symptom_disease sd ON sd.sid = s.sid
LEFT JOIN diseases d ON d.did = sd.did
WHERE s.sid IN (1,2,3) GROUP BY d.d_name
這裏的問題是,當用戶只選擇一個病,我不希望它顯示疾病,因爲一個症狀並不表明用戶是生病了。所以,我需要一個關於如何實現這個的建議。我看到了一個解決方案,它要求我在症狀表中添加排名/權重。但我不知道如何實現這個方法。提前致謝。
你有問題需要輸出嗎? – LONG
也許在疾病表中添加一列以指示選擇該疾病之前所需的最少症狀數。 –
或者可以在symptom_disease表中添加一列以指定症狀與該疾病相關的概率。並在疾病表中添加一列以指示選擇該疾病之前的最小概率。 –