Zusammengefasstes Ergebnis aus zwei MySQL-Spalten
Veröffentlicht am 06.10.05, 17:50 Uhr im Bereich "PHP"
Ich habe eine MySQL-Tabelle, die etwa so aussieht.
|--------------------|
|-------table1-------|
|--------------------|
|-id-|-wert1-|-wert2-|
|--------------------|
|--1-|---a---|---d---|
|--2-|---d---|---e---|
|--3-|---b---|---f---|
|--4-|---c---|---a---|
|--------------------|
Jetzt möchte ich, dass alle "wert1"- und "wert2"-Angaben zusammengefasst und sortiert werden, aber jeder Wert nur einmal vorkommt. Also folgende Ausgabe soll heraukommen: "a" "b" "c" "d" "e" "f"
Als reine MySQL-Anweisung wäre das eventuell mit dem Befehl
UNION hinzubekommen, aber der läuft irgendwie bei meiner
MySQL-Version noch nicht. Eine andere Möglichkeit ist, die beiden
Spalten in einer temporären Tabellen zu einer Spalte
zusammenzufügen und dann mit DISTINCT auszulesen. Finde ich
aber zu aufwändig. Daher hier eine PHP-Variante:
$result1 = mysql_query ("SELECT wert1 FROM table1 GROUP BY wert1");
$result2 = mysql_query ("SELECT wert2 FROM table2 GROUP BY wert2");
$data_base = array ();
while ($daten1 = mysql_fetch_array($result1))
{array_push($data_base, "$daten1[wert1]");}
while ($daten2 = mysql_fetch_array($result2))
{array_push($data_base, "$daten2[wert2]");}
sort($data_base);
$daten_values = array_count_values($data_base);
while (list ($key,$val) = each($daten_values))
{echo $key; }












