시작하기 전에 나를 비난하지 말고 데이터베이스를 디자인하지 않았습니다. 필요한 경우 에 열을 추가 할 수 있음을 잘 알고 있습니다.비슷한 필드를 기반으로 MySQL에 자체 가입 MySQL
MySQL의이 조각 고려 :
Report ID | Field ID | Name | Cost
------------------------------------------------
100 | 20 | "Shipping" | 5.25
101 | 21 | "Handling" | 7.50
101 | 20 | "Shipping" | 7.75
:
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
내가 지금과 같은 결과를 얻을 것입니다 쿼리의 필요이다 :이 도움이되지 않는 결과를 얻을 수
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_%"
을
보고서와 관련하여 비용이 많이 들지만 각각의 비용은 연속적으로 증가 할 수 있습니다. g 다른 세 항목과 증가 된 접미어 ('service_id_x', 'service_name_x', 'service_cost_x').
이 질문에 답변하는 사람은 선택한 종교의 다른 추종자보다 훨씬 나은 사후 세계를 경험하게 될 것입니다.
왜이'service_id_1'는'service_name_1'는'에 한 번 이상 service_cost_1' 표? 당신이 말한대로 각 비용마다 '1'이 증가해서는 안됩니까? 세 필드 모두에서 행이 고유합니까? –