SQL Abfrage funktioniert mit Access aber nicht mit mysql

Test

Erfahrenes Mitglied
Hallo,
ich habe eine Accessdatenbank mit den 2 Tabellen "Tabelle1" und "Tabelle2". Diese besitzen jeweils ein Attribut für eine Datumsangabe ("Datum1" bei Tabelle1 und "Datum2" bei Tabelle2) sowie eine Attribut für eine ID (Name ist bei beiden Tabellen "ID).

Die Datumswerte können sowohl innerhalb einer Tabelle als auch in der anderen Tabelle mehrfach vorkommen. Um mir nun alle eingetragenen Datumswerte ohne Duplikate anzeigen zu lassen kann ich unter Access folgende SQL Abfrage verwenden:

Code:
SELECT Tabelle1.Datum1 as Dates
FROM Tabelle1
UNION
SELECT  Tabelle2.Datum2 as Dates
FROM  Tabelle2 ORDER BY Dates DESC;

Die gleiche Struktur habe ich nun in mySQL (3.23) nachgebaut und wollte nun über die selbe SQL-Abfrage eigentlich das gleiche Ergebnis wie unter Access erhalten. Leider erhalte ich aber vom phpmyadmin die Meldung "#1064 - Fehler in der Syntax bei 'UNION SELECT Tabelle2 . Datum2 as Dates FROM Tabelle2 ORDER BY' in Zeile 1. "

Weiß jemand warum es hier nicht funktioniert bzw. was ich ändern muss um das selbe Ergebnis zu erhalten?

Danke im Voraus
 
versuchs mal so

PHP:
SELECT Tabelle1.Datum1 as Dates
FROM Tabelle1
where Datum1 in 
SELECT  Tabelle2.Datum2 as Dates
FROM  Tabelle2 ORDER BY Dates DESC;
 
Mit deiner Version erhalte ich "#1064 - Fehler in der Syntax bei 'SELECT Tabelle2 . Datum2 as Dates FROM Tabelle2 ORDER BY Dates ' in Zeile 1. "
 
Hi
Dann versuchs mal so :)
SQL:
select tbl1.datum1 from tabelle1 as tbl1
inner join tabelle2 as tbl2 on tbl2.datum2=tbl1.datum1
order by tbl1.datum1 desc;
es werden alle tbl1.datum1 angezeigt, die auch in tbl2.datum2 vorkommen
 
Diese Abfrage funktioniert zwar aber liefert nicht das Ergebnis welches ich brauche. Hier mal ein Beispiel:

Tabelle1:
Datum1 ID
2007-04-26 0
2007-04-27 2
2007-04-27 1
2007-04-29 1
2007-04-29 3

Tabelle2:
Datum2 ID
2007-04-03 1
2007-04-29 2
2007-04-27 3
2007-04-30 4

Als Ergebnis soll nun nur:

2007-04-03
2007-04-26
2007-04-27
2007-04-29
2007-04-30

rauskommen.
 
Moin Test,

zwei schnelle Versuche schlage ich noch vor:

1) die Selects in Klammern setzen
SQL:
( SELECT Tabelle1.Datum1 as Dates FROM Tabelle1)
UNION
(SELECT  Tabelle2.Datum2 as Dates
FROM  Tabelle2)
 ORDER BY Dates DESC;

2) und optional das AS ... im zweiten SELECT weglassen:
SQL:
(SELECT Tabelle1.Datum1 as Dates
FROM Tabelle1)
UNION
(SELECT  Tabelle2.Datum2 
FROM  Tabelle2)
ORDER BY Dates DESC;

Gruss
Biber2
 
Schade auch das bringt nur Syntaxfehler, naja dann muss ich es halt über 2 Listen und mit php sortieren/löschen.

Trotzdem Danke an euch alle.
 
Zurück