你能优化我写的这个查询吗?
我创建了一种动态虚拟数据库,让用户可以添加自定义字段而不影响数据库结构。以下是目前结构的简化视图。
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
谢谢