MySQL Union Query, Reihenfolge nach 2 Variablen
Jede Tabelle (Tabelle1 & Tabelle2) hat ein eigenes DATETIME-Feld.
Ich versuche, IDs der beiden Tabellen zu finden und sie nach ihrem DATETIME-Feld zu ordnen.
Beispiel
Table 1 Table 2
------------ -------------
id | datetime1 id | table1id | datetime2
------------------------ -----------------------
1 | 2014-09-21 20:31:26 1 | 2 | 2014-09-21 20:31:29
2 | 2014-09-21 20:31:27 2 | 3 | 2014-09-21 20:31:30
3 | 2014-09-21 20:31:28
Table 3
------------
id | user
------------------------
2 | phil
3 | nathalie
Meine Ausgabe ist mit dieser Abfrage nicht richtig sortiert:
SELECT *
FROM (
SELECT
1 AS selection,
table1.id, table1.datetime1,
table2.datetime2
table3.user
FROM Table1
LEFT OUTER JOIN table2
ON table1.id = table2.table1id
LEFT OUTER JOIN table3
ON table1.id = table3.id
UNION ALL
SELECT
2 AS selection,
table1.id, table1.datetime1,
table2.datetime2
table3.user
FROM Table1
INNER JOIN table2
ON table1.id = table2.table1id
INNER JOIN table3
ON table1.id = table3.id
) AS query
ORDER BY table1.datetime1 DESC, table2.datetime2 DESC
Gewünschte Daten:
von Tabelle 2 id: 2, 1,
von Tabelle 1 id: 3, 2, 1
So: 2, 1, 3, 2, 1
////BEARBEITE
Für Leute, die mit langen und komplexen MySQL-Anfragen zu kämpfen haben, versuchen Sie es bitte in PhpmyAdmin! Es wird Ihnen den Fehler mitteilen!
////BEARBEITE