Я попытался найти в Google и Stackoverflow решение для громоздкого кода.Для базы данных MySQL я хочу получить большой объем данных.Эта база данных разработана не нами, а сторонней компанией, поэтому я не могу нести ответственность за отсутствие навыков проектирования баз данных.
Проблема заключается в том, что мне нужно выбрать 52 столбца, каждый из которых имеет имя столбца с увеличивающимся номером (как видно на примере).
SELECT results.tc_serial AS "SerialNo",
results.total_result AS "TotalResult",
results.eval_01_id AS "Measurement1_ID",
eval1_parameter.tag AS "Measurement1_TAG",
eval_result1.value AS "Measurement1_VAL",
eval2_parameter.tag AS "Measurement2_TAG",
eval_result2.value AS "Measurement2_VAL",
eval3_parameter.tag AS "Measurement3_TAG",
eval_result3.value AS "Measurement3_VAL",
eval4_parameter.tag AS "Measurement4_TAG",
eval_result4.value AS "Measurement4_VAL",
eval5_parameter.tag AS "Measurement5_TAG",
eval_result5.value AS "Measurement5_VAL",
eval6_parameter.tag AS "Measurement6_TAG",
eval_result6.value AS "Measurement6_VAL"
FROM ga_35_4599_ipc_01.test_results results
JOIN ga_35_4599_ipc_01.test_parameters test_parameter ON
results.test_parameter_id = test_parameter.id
JOIN ga_35_4599_ipc_01.eval_windows_results eval_result1 ON
results.eval_01_id = eval_result1.id
JOIN ga_35_4599_ipc_01.eval_windows_results eval_result2 ON
results.eval_02_id = eval_result2.id
JOIN ga_35_4599_ipc_01.eval_windows_results eval_result3 ON
results.eval_03_id = eval_result3.id
JOIN ga_35_4599_ipc_01.eval_windows_results eval_result4 ON
results.eval_04_id = eval_result4.id
JOIN ga_35_4599_ipc_01.eval_windows_results eval_result5 ON
results.eval_05_id = eval_result5.id
JOIN ga_35_4599_ipc_01.eval_windows_results eval_result6 ON
results.eval_06_id = eval_result6.id
JOIN ga_35_4599_ipc_01.eval_windows_para eval1_parameter ON
test_parameter.eval_01_id = eval1_parameter.id
JOIN ga_35_4599_ipc_01.eval_windows_para eval2_parameter ON
test_parameter.eval_02_id = eval2_parameter.id
JOIN ga_35_4599_ipc_01.eval_windows_para eval3_parameter ON
test_parameter.eval_03_id = eval3_parameter.id
JOIN ga_35_4599_ipc_01.eval_windows_para eval4_parameter ON
test_parameter.eval_04_id = eval4_parameter.id
JOIN ga_35_4599_ipc_01.eval_windows_para eval5_parameter ON
test_parameter.eval_05_id = eval5_parameter.id
JOIN ga_35_4599_ipc_01.eval_windows_para eval6_parameter ON
test_parameter.eval_06_id = eval6_parameter.id
order by results.time desc
limit 10;
Есть ли способ циклически проходить через SELECT таким образом, как:
FOR (INT i = 1; i <= 52; i++)
SELECT Column_[i]
FROM tstDatabase
Еще раз, если я посмотрел какой-нибудь прекрасный пример, я прошу прощения.Я также не (Мой) гений SQL, как вы можете видеть из моего кода.