У меня проблема с выбором другой таблицы user_details по их user_ID из таблицы аккаунтов,
Таблица счетов
+---------+------------+---------------+------------+
| user_ID | user_Name | user_Password | user_Level |
+---------+------------+---------------+------------+
| 1 | student | student | 1 |
| 2 | instructor | instructor | 2 |
| 3 | admin | admin | 3 |
+---------+------------+---------------+------------+
Student_details
+---------+----------+--------------+
| stud_ID | user_ID | stud_details |
+---------+----------+--------------+
| 1 | 1 | student |
| 2 | null | student2 |
| 3 | null | student3 |
+---------+----------+--------------+
Instructor_details
+---------+---------+--------------+
| inst_ID | user_ID | inst_details |
+---------+---------+--------------+
| 1 | null | instructor |
| 2 | 2 | instructor2 |
| 3 | null | instructor3 |
+---------+---------+--------------+
и Admin_details такие же, как в таблице подробностей сверху ..
вот мой пример запроса:
SELECT
ua.user_ID,
ul.level_Name,
ua.user_Name,
ua.user_status,
(CASE
WHEN ua.level_ID = 1 THEN (SELECT * FROM `record_student_details` rsd WHERE rsd.user_ID = ua.user_ID)
WHEN ua.level_ID = 2 THEN "2"
WHEN ua.level_ID = 3 THEN "3"
ELSE "error"
END) as ulvl FROM `user_accounts` ua
LEFT JOIN user_level ul ON ua.level_ID = ul.level_ID
результат, который я хотел получить, выглядит следующим образом: если user_level равен 1, то информация о пользователе должна быть получена из student_details, тогда, если user_level равен 2, его подробности будут Instructor_details, тогда, если user_level равен 3, то подробности из admin_details
+---------+------------+---------------+------------+--------------------+
| user_ID | user_Name | user_Password | user_Level | details |
+---------+------------+---------------+------------+--------------------+
| 1 | student | student | 1 | Student_details |
| 2 | instructor | instructor | 2 | Instructor_details |
| 3 | admin | admin | 3 | Admin_details |
+---------+------------+---------------+------------+--------------------+