Можно ли оптимизировать этот запрос, который я написал
Я создал своего рода динамическую виртуальную базу данных, чтобы мои пользователи могли добавлять настраиваемые поля, не влияя на структуру базы данных.Пока это очень упрощенный вид структуры.
tables | columns
db_cases | caseid
db_structure | fieldname
db_data | fieldname, data, caseid
db_names | nameid
- Мы можем создать новое поле, добавив строку в db_structure
- Любые данныемы хотим, чтобы запись записывалась в db_data.
- Имена хранятся в db_names, а name_id хранится в db_data
Я пытаюсь вывести дела в html-таблицу
Надеюсь, все остальное говорит само за себя, вы можете видеть, насколько это неэффективно.Могу ли я сделать то же самое через соединения?
SELECT
case_id,
(SELECT data_field_value
FROM db_data
WHERE data_case_id = case_id AND data_field_name = 'casestatus'
) AS casestatus,
(SELECT forename_company
FROM db_names
WHERE name_id = (SELECT data_field_value
FROM db_data
WHERE data_case_id = case_id AND data_field_name = 'client1'
)
) AS client1_forename_company
FROM db_cases
Спасибо