2016-06-29 19 views
0

Angenommen, ich habe eine Tabelle - PersonenSortierung zwei Spalte in einer Spalte

id | First Name | Last Name 
-----------------------------' 
1 AA    BB 
2 EE    DD 
3 CC    FF 

Hier möchte ich in 1 Spalte Vorname und Nachname angezeigt werden soll.

Such that output would be 
---------------------- 
AA 
BB 
CC 
DD 
EE 
FF 

Can i also display it as 
------------------ 
1 AA 
1 BB 
3 CC 
2 DD 
2 EE 
3 FF 

Verwenden von Mysql-Abfrage ??

+0

und was haben Sie versucht? wir sind hier, um zu helfen, nicht für Sie zu arbeiten – goto

Antwort

2

Sie suchen union all:

select first_name as name from persons union all 
select last_name from persons 
order by name; 

EDIT:

Für die überarbeitete Frage:

select id, first_name as name from persons union all 
select id, last_name from persons 
order by name; 
+0

Ich habe die Frage aktualisiert. Können Sie uns bitte sagen, ob das möglich ist? –

0

Wenn Sie das Ergebnis auf die ID sortieren möchten. Dann

Abfrage

select t.name from(
    select id, firstname as name 
    from tblPersons 
    union all 
    select id, lastname as name 
    from tblPersons 
)t 
order by t.id, t.name; 
0
select * from 
(
select first_name from person 

union 

select last_name from person 
) 
t 
order by first_name 
+0

Während dies die Frage beantworten kann, ist es besser, einige unterstützende Erklärungen zu geben, warum dies die Frage beantwortet – Mathlight

Verwandte Themen