у меня 4 стола
- карта пациента, включает все основные данные пациента.
- карточка пациента 2, включая жалобы пациентов на
это здоровье, болезнь и рецепт (лекарства), данные
доктор.
- болезнь, в том числе болезнь пациентов.
- лекарств, в том числе лекарств, предоставляемых пациентам.
Теперь мне нужно отобразить все поля из карты пациента 1, карты пациента 2 и все болезни и лекарства из таблиц болезней и лекарств для одного конкретного пациента. Например: у пациента abc может быть несколько заболеваний и лекарств при заболевании и стол лекарств.
Я использую приведенный ниже запрос с использованием group_concat. Данные отображаются в html-таблице в виде запятой, но проблема в том, что данные отображаются несколько раз
$this->db->select('p1.*,p2.*,
GROUP_CONCAT(dis.disease_type SEPARATOR ",") as disease_type,
GROUP_CONCAT(med.medicines SEPARATOR ",") as medicines', FALSE);
$this->db->from('patientcard1 p1');
$this->db->join('patientcard2 p2','p2.card_id = p1.card_id','left');
$this->db->join('pdisease pd','pd.card_id1 = p2.card_id1','left');
$this->db->join('pmedicines pm','pm.card_id1 = p2.card_id','left');
$this->db->join('disease dis','dis.disease_id = pd.disease_id','left');
$this->db->join('medicines med','med.medicine_id = pm.medicines','left');
$this->db->group_by('u.unit_id');
$patient_details=$this->db->get();
return $patient_details;