Hallo,
ich habe zwei Tabellen, wo jeweils einmal Vornamen und einmal Nachnamen nach Häufigkeit sortiert drin stehen. Diese Tabelle dient nur für die Autocomplete-Funktion eines Suchfelds.
Aktuell verwende ich zwei Statements und etwas PHP. Ich suche EINE SQL-Abfrage, die mir das ganze PHP ersparen soll. Wichtig dabei ist, dass der zweite Teil des Statements 10 Nachnamen rausholt, ohne doppelte Einträge, quasi where nachname != vorname. Als Resulat sollten dann 20 Zeilen rauskommen, wo die ersten 10 Vornamen und die zweiten 10 Nachnamen sind.
Hätte da jemand eine Idee? Meine finde ich nicht so gut.
Gruß
ich habe zwei Tabellen, wo jeweils einmal Vornamen und einmal Nachnamen nach Häufigkeit sortiert drin stehen. Diese Tabelle dient nur für die Autocomplete-Funktion eines Suchfelds.
Aktuell verwende ich zwei Statements und etwas PHP. Ich suche EINE SQL-Abfrage, die mir das ganze PHP ersparen soll. Wichtig dabei ist, dass der zweite Teil des Statements 10 Nachnamen rausholt, ohne doppelte Einträge, quasi where nachname != vorname. Als Resulat sollten dann 20 Zeilen rauskommen, wo die ersten 10 Vornamen und die zweiten 10 Nachnamen sind.
Hätte da jemand eine Idee? Meine finde ich nicht so gut.
Code:
SELECT nachname as name FROM suchtabelle_nachnamen WHERE nachname LIKE '%Man%' LIMIT 10;
SELECT vorname as name FROM suchtabelle_vornamen WHERE vorname LIKE '%Man%' LIMIT 15;
...
...
$i = 0;
foreach ($vornamen as $value) $result[$i++] = $value;
foreach ($nachnamen as $value) {
if (!in_array($value, $result)) $result[$i++] = $value;
if ($i > 20) break;
}
Gruß