我在MySQL中有兩個表,一個包含一個字段City,另一個包含一個字段HomeCounty。我需要按字母順序排列X個記錄,以便將城市和HomeCounty都記錄到集合中。加入並排序MySQL中兩個表的結果
我無法加入,因爲這兩個表沒有關係...因爲我需要這兩列是「一個」,而不是兩個。
所以,我希望所有的City記錄和HomeCounty記錄都在一個集合中,然後按字母順序排序並將其限制爲X.我真的不知道該怎麼做。聯盟?
我在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
不需要子查詢 – 2010-07-16 17:43:08
您可以提供一些示例數據和所需的輸出嗎? – 2010-07-16 19:22:54