Komplexere DB-Abfragen

Pollux

Erfahrenes Mitglied
Ich bräuchte eine komplexere Syntax für die mysql-Abfrage:

Etwas wie

SELECT * FROM bla WHERE blabla = '$blabla' JOIN bla2 WHERE bla_id = blabla2

nur will das nicht so :(

Kann mir da jemand helfen? Geht das überhaupt mit join?
 
Geht um eine kleine DVD-Datenbank für eine kleines lokale Filmzeitschrift. Hier werden DVDs und Filme inhaltlich getrennt.

Also werden DVDs select_et, die nicht indiziert sind und dann mit den Filmen ge-join-t, deren IDs gleich den DVD_IDs sind.

Hoffe, das war irgendwie verständlich :)
 
Wenn ich das richtig verstanden habe, müsste das etwa so aussehen:
Code:
SELECT * FROM (t_filme INNER JOIN t_dvds ON (t_filme.dvd_id = t_dvds.id))

Wenn Du doch was anderes meintest, kannst Du ja nochmal fragen. :)
 
PHP:
/* also falls m:n

[tb-struktur]
film
     -> Id (auto increment)
     -> Name
dvd 
     -> Id (auto increment)
     -> Name
film_dvd
     -> film_id (INT)
     -> dvd_id (INT)
[/tb-struktur]
*/

// ohne ID
$query ="select film.name,dvd.name from dvd,film,film_dvd where dvd.id=film_dvd.dvd_id and film.id=film_dvd.film_id";

//und mit ID
$query ="select film.name,dvd.name from dvd,film,film_dvd where dvd.id=film_dvd.dvd_id and film.id=film_dvd.film_id and film.id = $filmid";
PHP:
/* falls 1:n
[tb-struktur]
film
     -> Id (auto increment)
     -> Name
dvd 
     -> Id (auto increment)
     -> Name
[/tb-struktur]
*/

// ohne id
$query ="select film.name,dvd.name from dvd,film where dvd.film_id=film.id";

// und mit
$query ="select film.name,dvd.name from dvd,film where dvd.film_id=film.id and film.id = $id";
hoffe ich konnt dir helfen ;)
 
Also, meine Datenbank steht soweit schon. Arbeit insgesamt mit 8 Relationen.
Es geht eigentlich nur vor einer normalen Join-Abfrage noch eine zusätzliche WHERE-Bedingung hinzuzufügen.

That's all, Folks!
 
ok zu deinem beispiel muss das so aussehen
[OLD]
SELECT * FROM bla WHERE blabla = '$blabla' JOIN bla2 WHERE bla_id = blabla2
[/OLD]

[NEW]
SELECT * FROM bla1,bla2 WHERE bla1.FELD = '$blabla' and bla2.bla1_id = bla1.id
[/NEW]
 
freut mich das es funktioniert hatt ;)
den join befehlt benutzt man meistens nur dann wenn es ein rekursiver result sein soll
ausserdem kann man in einem join noch weitere abfrage mit einbauen
aber den brauchen wir hier ja nicht ;)
 

Neue Beiträge

Zurück