Problem beim Tabelle verknüpfen

Hallo Ihr!

Ich hab ein kleines Problem…
Ich versuche schon seit geraumer Zeit eine Datenbank-Abfrage zu schreiben, bei der über 2 Tabellen hinweg ein paar Kriterien erfüllt sein sollen.

Zur Beschreibung:
Ich möchte über ein Formular nach einer Person suchen, diese stehen alle in der tabelle ‚persdaten‘. Nun soll die Abfrage prüfen ob diese vorhanden ist und wenn in der Kundenstammtabelle ‚svnr‘ der Benutzer als Betreuer hinterlegt ist, wird das Ergebnis angezeigt.
Es scheint so weit zu funktionieren…
Wenn ich aber als Alternative für die svnr dafür ‚%‘ eintrage ist das Ergebnis falsch.

Das ‚%‘ wird durch
(!empty($_POST[‚svnr‘])) ? $svnr = $_POST[‚svnr‘] : $svnr = „%“;
erzeugt.

$querysvnr = „SELECT * FROM persdaten AS p LEFT JOIN svnr AS s ON s.svnr = p.svnr WHERE s.betreuer = '“.$benutzer’ AND p.svnr = ‚".$svnr."‘";

Nun meine Frage. Wie sollte die Abfrage besser aussehen? Ich hatte da schon an einen 2.Alias-namen für svnr gedacht…

Ich wäre über Lösungsvorschläge sehr dankbar.

MfG, yuc2me.

Ich habe jetzt meine Abfrage nur leicht modifiziert und es funktioniert.

$querysvnr = „SELECT * FROM persdaten AS p LEFT JOIN svnr AS s ON p.svnr = s.svnr WHERE s.betreuer = '“.$benutzer."’ ".$qsvnr.$qpnr.$qnname.$qvname;

(!empty($_POST[‚svnr‘])) ? $qsvnr = „AND p.svnr = '“.$_POST[‚svnr‘]."’ " : $qsvnr = „“;

jetzt habe ich nur noch das Problem, das die ausgegeben Tabelle nicht so aussieht, wie sie sollte…
Müsste ich RIGHT JOIN nehmen um die Ergebnisse der Tabelle ‚persdaten‘ auf der rechten Seite zuhaben?!

Hallo,

Müsste ich RIGHT JOIN nehmen um die Ergebnisse der Tabelle
‚persdaten‘ auf der rechten Seite zuhaben?!

nein, für das Auswählen und Umsortieren von Spalten ist die SELECT-Klausel da. Dort listest du statt dem Stern (= alle) einfach die Attribute auf, die du im Ergebnis haben möchtest, z.B.

**SELECT s.betreuer, p.svnr** FROM persdaten AS p LEFT JOIN svnr AS s ...

Gruß,

Andreas

Hab schon fast garnicht mehr gehofft, das jemand antwortet…

Ich danke dir!