Я хотел бы выполнить mysql соединение для 4 таблицы, вот как они выглядят
student_details, будет содержать данные о студентах со строками, имеющими уникальное значение
------------------------------------------
| student_unique | name | age | etc...
------------------------------------------
| 1232432 | ABC | 23 | xxx
| 1223233 | CDE | 26 | yyy
------------------------------------------
student_subjects список предметов студент поступил в
-------------------------------
| student_unique | subject_id |
-------------------------------
| 1232432 | 25 |
| 1232432 | 26 |
-------------------------------
subject_details детали предмета
-------------------------------
| subject_id | subject_name |
-------------------------------
| 25 | chemistry |
| 12 | english |
-------------------------------
Student_contact_details список контактных данных студентов
-------------------------------------
| student_unique | key | value |
-------------------------------------
| 1232432 | email | [email protected]
| 1232432 | phone | 555-44-333
-------------------------------------
Теперь я хочу выполнить запрос, чтобы найти все детали для студента 1232432
и результат должен быть таким
ЗДЕСЬ ЧТО Я СДЕЛАЛ
$this->db->select(
'a.student_unique,
a.name,
b.student_unique,
b.subject_id,
c.subject_id,
c.subject_name,
d.student_unique,
d.key,
d.value,'
);
$this->db->from('student_details a');
$this->db->join('student_subjects b', 'b.student_unique = a.student_unique', 'left');
$this->db->join('subject_details c', 'c.subject_id = b.subject_id', 'left');
$this->db->join('student_contact_details d','d.student_unique = b.student_unique', 'right');
$this->db->where('a.student_unique',$student_unique);
$query = $this->db->get();
Задача ещё не решена.
Других решений пока нет …