[MySQL] Suche über mehrere Tabellen

Axor

Mitglied
Folgende Problemstellung:

Habe eine Tabelle tbl_personen
In dieser Tabelle Personen gibt es ein Feld "Ort"
Im Feld "Ort" kommten nur Ortsnamen vor, die es in der Tabelle tbl_orte gibt
In der Tabelle tbl_orte gibt es außerdem noch ein Feld "Bezirk"


Jetzt mache ich eine Suchfunktion, bei der man neben der Personensuche aus einem bestimmten Ort (ist ja nicht weiter schwierig) auch nach Personen aus einem Bezirk suchen kann.

D.h. ich suche eine Abfrage, die alle Personen die im Feld Ort einen Ortsnamen eingetragen haben der in einem bestimmten Bezirk sich befindet ausgibt!

Ich weiß, dass das irgendwie mit Joins funktioniert, aber trotz Literatur blick ich da nicht so wirklich durch. Wahrscheinlich, weil ich eher lerne wenn ich ein Beispiel sehe, welches mir weiterhilft...

DANKE
 
Probier mal Folgendes:
Code:
SELECT DISTINCT
        …
  FROM
        `tbl_personen` AS `p`
    INNER JOIN
        `tbl_orte` AS `o` USING(`Orte`)
  WHERE
        `o`.`Ort`    = "…"
    OR  `o`.`Bezirk` = "…"
 
danke für die antwort - habs leider noch immer nicht zum laufen bekommen:

SELECT DISTINCT *
FROM `tbl_personen` AS `p`
INNER JOIN `tbl_orte` AS `o`
USING ( `name` )
WHERE `o`.`Bezirk` = "..."


das using(name) bezieht sich auf den eintrag der tbl_orte und ist dann also der Ortsname?!

es sollten alle personen ausgegeben werden, die im feld ort einen ortsnamen angegeben haben, der in dem angegebenen bezirk liegt...
 

Neue Beiträge

Zurück