mySQL Abfrage

sd12

Legendäres Mitglied
Hallo

Warum wird bei folgender Abfrage jeder Datensatz 5 mal ausgelesen?

CODE SELECT
zuweisung_games.yourboxID as gameid,
games.dl as dl
FROM
zuweisung_games,
games
WHERE
zuweisung_games.device='$userdevice'
ORDER BY
games.dl DESC

Wer kann mir helfen?
 
Ciao Beni

Du generierst ein Skalarprodukt, das passiert, wenn die Abfrage nicht eindeutig ist. Mit deinem Query nimmst du Daten aus 2 Tabellen, welche aber nicht "verbunden" werden, also wird für jeden Treffer aus Tabelle1 alle Treffer der Tablle2 geliefert.

Zur Korrektur musst du die Beziehung mit ins Query einbeziehen. Also dir fehlt was wie

WHERE
table1.id = table2.id

oder du nimmst einen Join, was aufs gleiche hinauskommt

Gruss
Roger
 
Hallo

Thks für die Antwort. Leider steige ich nicht ganz..

Wie sieht das in meinem Beispiel aus?
 
Ich kann dir nur ne fixfertige Lösung geben, wenn ich die beiden Tabellen kenne. Üblicherbeise ist der Primary Key der einen in der anderen irgendwo enthalten.
 
So... bin doch noch gestiegen, nachdem ich verduzt das Befehlsfenster von mySQL angeschaut habe und die Doku angestarrt haben.

Danke
 
Zurück
Oben