Mysql 从每个表按列排序联接

Mysql 从每个表按列排序联接,mysql,Mysql,如果我有两个表都有相同的列ord 表a id | value | ord 1 | asd | 1 2 | dfg | 5 3 | ghj | 7 表b id | value | ord 1 | zxc | 3 2 | cvb | 4 3 | bnm | 6 我怎样才能加入他们来获得这个结果 | id | value | ord | id | value | ord | 1 | asd | 1 | - | - | - | - |

如果我有两个表都有相同的列
ord

表a

id | value | ord
1  | asd   | 1
2  | dfg   | 5
3  | ghj   | 7
表b

id | value | ord
1  | zxc   | 3
2  | cvb   | 4
3  | bnm   | 6
我怎样才能加入他们来获得这个结果

| id | value | ord | id | value | ord
| 1  | asd   | 1   | -  |   -   |  -
| -  |   -   |  -  | 1  | zxc   | 3
| -  |   -   |  -  | 2  | cvb   | 4
| 2  | dfg   | 5   | -  |   -   |  -
| -  |   -   |  -  | 1  | bnm   | 6
| 3  | ghj   | 7   | -  |   -   |  -
或者如果我没有更好的空列

基本上,我想问的是,我是否可以连接这些表,并根据这两个表中的列对所有结果进行排序,在本例中为
ord

当我尝试

SELECT * FROM table_a JOIN table_b ORDER BY ord

我发现字段不明确错误。

#1064-您的SQL语法有错误;检查与您的MySQL服务器版本对应的手册,以了解使用near.ord b_ord的正确语法。表a a中的UNION SELECT NULL,NULL,NULL,'在第6Oops行已修复-(允许您自己解决此问题!)是的,还有一个轻微错误,但它正在工作,太棒了!谢谢显然,
COALESCE
是我在这个问题上寻找的神奇词汇
SELECT a.id a_id 
     , a.value a_value
     , a.ord a_ord
     , NULL b_id
     , NULL b_value
     , NULL b_ord 
  FROM table_a a 
 UNION 
SELECT NULL
     , NULL
     , NULL
     , b.* 
  FROM table_b b
 ORDER 
    BY COALESCE(b_ord,a_ord)