在我們開始之前,不要責怪我,我沒有設計數據庫。我很清楚,有必要時可以加列。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
請注意,與報告相關的任何成本都可能與相關成本開始相關g另外三個條目和增加的後綴('service_id_x','service_name_x','service_cost_x')。
這個問題的回答者會比你選擇的宗教的其他追隨者得到一個遠遠優越的來世。
爲什麼會出現'service_id_1','service_name_1','在service_cost_1'不止一次表?你說的'1'不應該隨着每一個代價而增加嗎?所有三個字段的行都是唯一的嗎? –