SQL string ID deyimi ile değiştirin

1 Cevap php

Bu aşağıdakileri yapmak için bir sql deyimi oluşturmak mümkündür:

Tablo 1, tüm ilaç isimleri, Tablo 2 yan etkileri tümünü içerir.

Tablo 3 ID ve | ile ayrılmış yan etkileri herkes tarafından tüm ilaç isimleri içeriyor.

Ben yeniden oluşturmak Tablo 3 | ile ayrılmış yan etkileri Tablo 2'de yan etkisi kimliklerini oldukları çalıştırabilirsiniz SQL sorgusu çeşit var mı?

Table1
---------------------
id | drug_name
---------------------
1  | aspirin
2  | zoloft
3  | codine


Table2
---------------------
id | side_effects
---------------------
1  | rash
2  | hearing loss
3  | the plague


Table3
---------------------
id | drugs2sidefx
---------------------
1  | rash | hearing loss
2  | 
3  | the plague | hearing loss

1 Cevap

Bu şekilde Tablo3 gerekmez.

olmalıdır

drugs2se
---------------------
d_id | se_id
---------------------
1    |  1
1    |  2
3    |  2
3    |  3

Sonra böyle bir sorgu ile istenilen sonuçlar elde edebilirsiniz

SELECT d.name, group_concat(se.name) as effects 
FROM drugs d, drugs2se dse, side_effects se 
WHERE d.id=d_id AND se_id=se.id 
GROUP BY (d.id)