ERLEDIGT
NEIN
NEIN
ANTWORTEN
7
7
ZUGRIFFE
1007
1007
EMPFEHLEN
-
Hallo,
ich habe 3 Tabellen:
Zeit1 ... wert ... datum
Zeit2 ... wert ... datum
Zeit3 ... wert ... datum
Zeit 1 bis 3 sind die tabellen, "wert" und "datum" die Spalten dazu. Die heißen auch bei jedem gleich.
Alle 3 Tabellen sind gefüllt mit Daten. Unterschiedliche Datumsangabe, der "wert" interessiert hierbei nicht.
Ich will gern, dass ich alle 3 Tabellen so miteinander verknüpfen kann, damit ich nach "datum" sortieren kann. Mit INNER JOIN und UNION kam ich nicht zum Erfolg.
Ich bitte um Hilfe eines SQL-Statements.
-
Hallo,
was hast du denn bisher probiert?
Bei UNION muß Du aufpassen welchen Typ du nimmst. Wäre aber auch meine erste rangehensweis. Außerdem ist die sortierung erst am Ende des statements fällig. Also poste mal Dein script.
Grüße
-
Code sql:
1 2 3 4 5 6 7 8
SELECT wert,datum FROM zeit1 UNION SELECT wert,datum FROM zeit2 UNION SELECT wert,datum FROM zeit3
Und egal was ich dann mit der Sortierungfunktion mache, er kann die Spalte datum nicht zuordnen.
-
Min Hattrix,
versuche es so:
Code sql:1 2 3 4 5 6 7 8 9 10 11
SELECT wert, datum FROM ( SELECT wert,datum FROM zeit1 UNION ALL SELECT wert,datum FROM zeit2 UNION ALL SELECT wert,datum FROM zeit3 ) ORDER BY Datum
UNION ALL statt UNION verhindert, dass die Sätze schon beim UNION sortiert und deren Einmaligkeit sichergestellt wird. (Du sortierst ja selbst und willst je vielleicht auch Sätze mit gleichen Datum und gleichem Wert aus zwei Quelltabellen sehen.
Ich würde noch zusätzlich eine Spalte "Quelle" einfügen, damit Du die Originaltabelle identifizieren kannst.
Code sql:1 2 3 4 5 6 7 8 9 10 11
SELECT wert, datum, quelle FROM ( SELECT wert,datum, 'Zeit1' AS quelle FROM zeit1 UNION ALL SELECT wert,datum, 'zeit2' FROM zeit2 UNION ALL SELECT wert,datum, 'zeit3' FROM zeit3 ) ORDER BY Datum
Grüße
Biber
-
Hilft leider nicht ... wenn ich es ausführe, bekomme ich immer folgende Fehlermeldung:
Code sql:1
#1248 - Every derived TABLE must have its own alias
-
Hmm, dann tu ihm doch den Gefallen...
Code sql:1 2 3 4 5 6 7 8 9
SELECT a.datum, a.wert , a.quelle FROM ( SELECT z1.datum, z1.wert, 'Zeit1' AS quelle FROM zeit1 AS z1 UNION ALL SELECT z2.datum, z2.wert, 'Zeit2' FROM zeit2 AS z2 UNION ALL SELECT z3.datum, z3.wert, 'Zeit3' FROM zeit3 AS z3 ) AS a ORDER BY a.Datum
Grüße
Biber
-
Code sql:
1
#1142 - SELECT command denied TO USER 'xxxxx'@'localhost' FOR TABLE 'zeit1'
Ahja, alles klar. Keine Rechte? Ich arbeite mit den Daten seit vielen Monaten oder ist an der Anweisung irgendwas anderes? Ich glaub's kaum!?
-
Kann mir keiner mehr helfen?
Ähnliche Themen
-
mySQL Tabellen richtig miteinander verknüpfen (LEFT JOIN)
Von morgenstern im Forum Relationale DatenbanksystemeAntworten: 1Letzter Beitrag: 27.01.09, 10:31 -
MySQL: 2 Tabellen nach Datum sortieren
Von Nord-Süd-Richtung im Forum Relationale DatenbanksystemeAntworten: 6Letzter Beitrag: 13.08.08, 13:32 -
[MySQL] 4 Tabellen miteinander verknüpfen (JOIN)?
Von preko im Forum Relationale DatenbanksystemeAntworten: 16Letzter Beitrag: 23.01.08, 21:10 -
[MySQL] Zwei Tabellen abfragen und Ergebnis sortieren
Von DJLopez im Forum Relationale DatenbanksystemeAntworten: 3Letzter Beitrag: 01.07.07, 23:49 -
3 Tabellen miteinander verknüpfen
Von sasfed im Forum PHPAntworten: 1Letzter Beitrag: 27.01.05, 22:34





Zitieren
Login





