UNION ALL中的ORDER不起作用

时间:2013-09-06 17:08:49

标签: sqlite

首先,我很抱歉我的英语。

我有两个具有相同列的表,我希望通过'nombre'加入SELECT和order。我的问题是它不能像我期望的那样工作。例如:

表1(ListaAmbos):

ID  nombre
1   Asaber
2   Zip


表2(Listax86):

ID  nombre
24  rtywr
25  afaf
26  stftst'gdh
27  dgsdhttrh%%
28  Prueba


我想要的是什么:

ID  nombre
25  afaf
1   Asaber
27  dgsdhttrh%%
28  Prueba
24  rtywr
26  stftst'gdh
2   Zip


我得到了什么:

ID  nombre
1   Asaber
28  Prueba
2   Zip
25  afaf
27  dgsdhttrh%%
24  rtywr<br>
26  stftst'gdh


我正在使用此查询:

SELECT ID, nombre FROM ListaAmbos 
UNION ALL 
SELECT ID, nombre FROM Listax86 
ORDER BY nombre ASC;

但不要像我想的那样工作......我做错了什么?

提前致谢。

2 个答案:

答案 0 :(得分:2)

你得到的是大写首先,然后是小写,这意味着你正在使用区分大小写的排序规则。将您的查询更改为:

...
ORDER BY nombre COLLATE NOCASE ASC

另请参阅:How to use SQL Order By statement to sort results case insensitive?

答案 1 :(得分:2)

如何尝试这样: -

 SELECT ID, nombre FROM ListaAmbos
 UNION ALL SELECT ID, nombre FROM Listax86 ORDER BY nombre COLLATE NOCASE ASC;