ich freue mich nun soweit fortgeschritten zu sein, dass ich die erste komplexe anfrage stellen kann. danke soweit. ich beschreibe mein jüngstes problem: in der personentabelle sind personennamen und zu jedem namen eine berufsnummer. in der berufetabelle sind zu jeder beruffsnummer die berufsnamen. ich möchte nun mit einer abfrage diejenigen personen ausfiltern, deren beruf das wort "IT" enthält. dazu muss ich in der tabellenstruktur aber 'um eine ecke' schauen. wie wird das gemacht? SELECT ...
Ankündigung
Einklappen
Keine Ankündigung bisher.
abfrage über zwei levels
Einklappen
Neue Werbung 2019
Einklappen
X
-
Select über mehrere tabellen
wen das nicht dein Problem löst, dann habe ich dich falsch verstanden, sry:arrow: [URL="http://tiny.cc/0xlvv"]Wie man Fragen richtig stellt[/URL]
Kommentar
-
Select über mehrere tabellen
wen das nicht dein Problem löst, dann habe ich dich falsch verstanden, sry:arrow: [URL="http://tiny.cc/0xlvv"]Wie man Fragen richtig stellt[/URL]
Kommentar
-
ich versuche nochmal zu formulieren: es gibt eine tabelle der personen und eine tabelle der berufe. die berufe sind durchnummeriert und jeder person ist eine berufsnummer zugeordnet.
Personen:
PERSON Andreas BERUF 1
PERSON Christian BERUF 3
PERSON Anette BERUF 2
Berufe:
1 BEZEICHNUNG IT-Client-Service KOSTEN 2000
2 BEZEICHNUNG Bügelhilfe KOSTEN 900
3 BEZEICHNUNG Schauspieler KOSTEN 800
Ich will nun diejenigen Personen listen, deren beruf die zeichenfolge "IT" enthällt.
das ergebnis des selects müsste der "Andreas" datensatz sein.mobilis in mobili
Kommentar
-
Zitat von Dilandausieht gut aus. was bedeutet es?
http://www.little-idiot.de/mysql/mysql-118.html#joins
http://dev.mysql.com/doc/refman/5.0/en/join.html
Kommentar
-
ok, mit meinem vater haben wir nun folgende lösung für das problem ermittelt:
PHP-Code:SELECT * FROM personen, berufe WHERE (personen.berufsnr = berufe.nr) AND berufe.name LIKE '%IT%'
nochmal xabbuhs idee:
PHP-Code:SELECT
p.person
FROM
personen AS p
INNER JOIN
berufe AS b
ON
p.beruf = b.beruf
WHERE
b.bezeichnung LIKE '%IT%'
mobilis in mobili
Kommentar
-
Deine Abfrage macht vom Prinzip her das gleiche, was meine Abfrage erledigt (von einigen unterschiedlichen Spaltenbezeichnungen mal abgesehen). Allerdings wird bei deiner Abfrage zuerst das karthesische Produkt der beiden Tabellen gebildet, was bedeutet, dass alle Datensatz der Tabelle personen mit allen Datensätzen aus der Tabelle berufe verknäpft werden. Erst danach wird überprüft, auf welche dieser Kombinationen überhaupt die Bedingungen zutreffen. Bei einem INNER JOIN läuft es dagegen so ab, dass lediglich die Datensätze miteinander verknüpft werden, auf die die Bedingung auch tatsächlich zutrifft.
Kommentar
Kommentar