Прежде чем мы начнем, не обвиняйте меня, я не проектировал базу данных. Я хорошо знаю, что можно добавить столбцы при необходимости.MySQL присоединяется к самостоятельному в аналогичных областях
Рассмотрим этот фрагмент MySql:
SELECT r.id,
crf.field_name,
crf.field_value
FROM reports r
JOIN custom_report_fields crf
ON crf.report_id = r.id
WHERE r.id IN (100, 101)
AND field_name LIKE "service_%"
Что дает эти бесполезные результаты:
ID | field_name | field_value
------------------------------------------------
100 | service_id_1 | 20
100 | service_name_1 | "Shipping"
100 | service_cost_1 | 5.25
101 | service_id_1 | 21
101 | service_name_1 | "Handling"
101 | service_cost_1 | 7.50
101 | service_id_2 | 20
101 | service_name_2 | "Shipping"
101 | service_cost_2 | 7.75
Я нуждается в запросе, который будет давать эти результаты как так:
Report ID | Field ID | Name | Cost
------------------------------------------------
100 | 20 | "Shipping" | 5.25
101 | 21 | "Handling" | 7.50
101 | 20 | "Shipping" | 7.75
Помните, что может быть любое количество расходов, связанных с отчетом, с каждой последующей стоимостью gettin g еще три записи и увеличенный суффикс ('service_id_x', 'service_name_x', 'service_cost_x').
Ответчик этого вопроса получит гораздо более высокую загробную жизнь, чем другие последователи вашей избранной религии.
Почему 'service_id_1',' service_name_1', 'service_cost_1' более чем один раз в Таблица? Разве «1» не увеличивается с каждой ценой, как вы говорите? Являются ли строки уникальными во всех трех полях? –