我有这张 table
Table1
id | name |
1 | a |
2 | c |
和其他像这样的表
Table2
id | name |
1 | b |
2 | d |
如何对这两个表进行排序
a b c d
DONE READING THIS但它只会给我这个结果
a c b d
当我尝试这个的时候
SELECT * FROM Table1 AS t1 JOIN Table2 AS t2 ON t2.id = t1.id
ORDER BY t1.name ASC, t2.name ASC;
最佳答案
您可以尝试取两个表的UNION
:
SELECT id, name
FROM Table1
UNION ALL
SELECT id, name
FROM Table2
ORDER BY name
如果您想保留有关每条记录的原始来源的信息,您可以为此添加一列:
SELECT id, name, 't1' AS source
FROM Table1
UNION ALL
SELECT id, name, 't2'
FROM Table2
ORDER BY name
更新:
如果 Codeigniter 不支持开箱即用的 UNION
,您始终可以将上述查询放入字符串中并在 native 执行:
$sql = "SELECT id, name FROM Table1 UNION ALL SELECT id, name FROM Table2 ORDER BY name";
$this->db->query($sql);
关于mysql - 许多表上的 ORDER BY SQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40989396/