我有两个表。基于两个表在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