我有兩個表。基於兩個表在MySQL中選擇
疾病
-----------------------------
| ID | NAME |
-----------------------------
| 1 | Disease 1 |
| 2 | Disease 2 |
| 3 | Disease 3 |
diseases_symptoms
-----------------------------
| DISEASE_ID | SYMPTOM_ID |
-----------------------------
| 1 | 1 |
| 1 | 2 |
| 1 | 3 |
| 1 | 4 |
| 2 | 1 |
| 2 | 2 |
我想選擇具有症狀1或2,3或4。
我已經嘗試了所有diseses:
SELECT *
FROM diseases_symtoms
WHERE (symptoms = '1' OR symptoms = '2')
AND (symptoms = '3' OR symptoms = '4')
And:
SELECT *
FROM diseases_symtoms
WHERE symptoms IN ('1','2')
AND symptoms IN ('3','4')
...但它不工作。
謝謝VoteyDisciple!它完美的作品,但很少編輯: SELECT *病從 疾病 INNER JOIN diseases_symptoms ON(disases_symptoms.disease_id = diseases.disease_id) GROUP BY diseases.disease_id HAVING SUM(IF(症狀= 1或症狀= (AND)(IF(症狀= 3或SYMPTOMS = 4,1,0))> 0 再一次..感謝一下! – Deyan 2010-06-11 13:04:09
哎呦。當然,這是我的想法。我爲後人編輯過。 – VoteyDisciple 2010-06-11 13:16:40