[MySQL] Zwei Spalten aus unterschiedlichen Tabellen zusammenfügen

Andre_Java

Mitglied
Ich habe zwei Tabellen, die wie folgt aussehen:

Code:
Tabelle1:

Wert1 |  Sekunden
200   |  11
124   |  20

Tabelle2:

Wert8 | Sekunden
111   |  9
500   | 40

Erhalten möchte ich folgendes:

Wert1| Wert8 | Sekunden
     | 111   |   9
200  |       |  11
124  |       |  20
     | 500   |  40

Ich habe viel mit JOIN experimentiert, komme aber nicht zu dem gewünschten Ergebnis. Für einen Tipp wäre ich dankbar.
 
Hi

Versuch es mal hiermit:
SQL:
SELECT 
  table1.sekunden AS sekunden1, 
  table2.sekunden AS sekunden2, 
  table1.wert1, 
  table2.wert8
FROM 
  table1,
  table2
 
Zuletzt bearbeitet von einem Moderator:
Das klappt leider auch nicht, das Ergebnis sieht so aus:

Code:
sekunden1 |sekunden2 | wert1 | wert8
11 	  | 9 	     | 200   |111
20 	  | 9 	     | 124   |111
11 	  | 40       | 200   |500
20 	  | 40       | 124   |500
 
Zuletzt bearbeitet:
Je nach Sprache, würde ich daraus zwei Queries machen, das Result in je einen Array pappen und musst du dir den Array zusammenbasteln.

So wies mir ist, gibts so was unter SQL nicht. (Sogar der Union hat das gleiche Resultat gebraucht)
 
Wie wäre eine Lösung mit einer temporären Tabelle:

SQL:
//Tabelle temp erstellen
$sql ="CREATE TEMPORARY TABLE temp(wert1 SMALLINT (5) UNSIGNED, wert8 SMALLINT (5) UNSIGNED, sekunden SMALLINT (5) UNSIGNED)";
mysql_query($sql);

//Daten aus Tabelle "tabelle1" eintragen
$sql = "INSERT INTO temp (wert1, sekunden) SELECT wert1, sekunden FROM tabelle1";
mysql_query($sql);

//Daten aus Tabelle "tabelle2" eintragen
$sql = "INSERT INTO temp (wert2, sekunden) SELECT wert8, sekunden FROM tabelle2";
mysql_query($sql);

//Abfrage um die Daten der temporären Tabelle auszugeben
$sql = "SELECT wert1, wert2, sekunden FROM temp"
 
Bin jetzt bei Temporären Tabellen nicht so bewandert. Aber wie lange bleiben die erhalten? Eine Transaktionslänge, oder wie lange?
 
Union klingt gut
SQL:
SELECT 
	Wert1,
	NULL AS Wert8,
	Sekunden
FROM
	table1
UNION SELECT 
	NULL AS Wert1,
	Wert8,
	Sekunden
FROM
	table2
 
Zuletzt bearbeitet von einem Moderator:

Neue Beiträge

Zurück