加入并排序MySQL中两个表的结果
问题描述:
我在MySQL中有两个表,一个包含一个字段City,另一个包含一个字段HomeCounty。我需要按字母顺序排列X个记录,以便将城市和HomeCounty都记录到集合中。加入并排序MySQL中两个表的结果
我无法加入,因为这两个表没有关系...因为我需要这两列是“一个”,而不是两个。
所以,我希望所有的City记录和HomeCounty记录都在一个集合中,然后按字母顺序排序并将其限制为X.我真的不知道该怎么做。联盟?
答
是的,你会使用一个UNION:
SELECT city AS name
FROM TABLE_1
UNION ALL
SELECT homecountry AS name
FROM TABLE_2
ORDER BY name
LIMIT ?
更改为UNION,如果你有你想删除重复的,但它会慢UNION ALL。
UNION中的ORDER BY应用于整个结果集。如果您想要对UNION中的每个语句应用不同的ORDER BY条件,则必须使用括号定义语句:
(SELECT city AS name
FROM TABLE_1
ORDER BY name DESC)
UNION ALL
SELECT homecountry AS name
FROM TABLE_2
LIMIT ?
答
一些与此类似:
select name from
(
select city as name from table a
union
select country from table b
)
order by name
+0
不需要子查询 – 2010-07-16 17:43:08
您可以提供一些示例数据和所需的输出吗? – 2010-07-16 19:22:54