3

まず第一に、私の英語で申し訳ありません。

同じ列を持つ 2 つのテーブルがあり、両方を SELECT で結合し、「nombre」で並べ替えたいと考えています。私の問題は、期待どおりに機能しないことです。例えば:

表 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;

しかし、私が望むように動作しません...何が間違っていますか?

前もって感謝します。

4

2 に答える 2

2

あなたが得ているのは、最初に大文字、次に小文字です。これは、大文字と小文字を区別する照合を使用していることを意味します。クエリを次のように変更します。

...
ORDER BY nombre COLLATE NOCASE ASC

参照: SQL Order By ステートメントを使用して結果を大文字と小文字を区別せずに並べ替えるには?

于 2013-09-06T17:11:38.443 に答える
2

このように試してみてはどうですか:-

 SELECT ID, nombre FROM ListaAmbos
 UNION ALL SELECT ID, nombre FROM Listax86 ORDER BY nombre COLLATE NOCASE ASC;
于 2013-09-06T17:12:07.667 に答える