2
根據可能來自多個表的字段值對MySQL中的結果集進行排序的最佳方式是什麼?在MySQL中對多個表中的數據進行排序的最佳方法
爲了簡單起見,假設DB中有四個表格。主表包含許多字段,但特別是它包含具有另一個表的名稱和該表中記錄的外鍵的列。這三個外表中的每一個都包含一個名稱列,我想在主表中對結果進行排序。
Example primary table:
+----+---------------+------------+-------------+
| id | foreign_table | foreign_id | more_fields |
+----+---------------+------------+-------------+
| 1 | students | 9182 | blah, blah |
| 2 | students | 1008 | blah, blah |
| 3 | parents | 3827 | blah, blah |
| 4 | teachers | 4523 | blah, blah |
| 5 | teachers | 1092 | blah, blah |
+----+---------------+------------+-------------+
Example foreign (students) table:
+-------+--------------+-------------+
| id | name | more_fields |
+-------+--------------+-------------+
| 9182 | Joe | blah, blah |
| 1008 | Sally | blah, blah |
+-------+--------------+-------------+
這在MySQL中可能嗎?或者我需要循環遍歷PHP中的結果並創建一個數組來排序,然後使用類似array_multisort()的東西?如果使用一個數組,循環數千行只是爲了排序結果會有效嗎?
任何幫助,非常感謝。