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()的东西?如果使用一个数组,循环数千行只是为了排序结果会有效吗?
任何帮助,非常感谢。