mysql Abfrage
minu
- datenbank
0 Cheatah0 Florian Bluhm
Hi Leute,
ich habe Probleme bei einer mysql-Abfrage.
Ich habe 2 Tabellen, eine namens Paper und eine namens review.
Ich möchte den gesamten Inhalt von Paper geordnet nach ID und alle dazu gehörigen bewertungen( Spaltenname = classification) aus review angezeigt bekommen.
Das Problem ist aber, dass in der Tabelle review mehrere Bewertungen zu einem Eintrag in Paper existieren.
Also so schauts aus
Paper review
----- ------
ID ID
name reviewer
title classification
. paperid
. .
. .
mit Inhalt
Paper review weiterer Eintrag in review mit paperid =1
----- ------ ---------------------------------------
ID=1 ID ID
name reviewer reviewer
title classification=A classification=B
. paperid=1 paperid=1
. .
. .
wie schaffe ich jeweils eine Zeile für jeden Eintrag aus Paper auszugeben, die den Inhalt aus Paper und die dazugehörigen classifications aus review anzeigt.
Bei mir werden die Einträge aus Paper mehrmals angezeigt.
Gruss,
minu
Hi,
Ich möchte den gesamten Inhalt von Paper geordnet nach ID
also ungeordnet, da der IDentifier eines Datensatzes zu absolut keinem von der IDentifikation abweichenden Zweck missbraucht werden darf.
wie schaffe ich jeweils eine Zeile für jeden Eintrag aus Paper auszugeben, die den Inhalt aus Paper und die dazugehörigen classifications aus review anzeigt.
Es existiert kein Weg, die Spaltenzahl des Resultsets pro Zeile unterschiedlich zu halten. Entweder weißt Du _vorher_ _exakt_, wie viele Spalten es geben wird, oder Dein Wunsch ist nicht per SQL erfüllbar.
Cheatah
Abfrangetechnisch würde ich das mit ner Schleife lösen.
rs=conn.execute("Select * from Paper order by ID")
while not rs.eof
<<Ausgabe von Paper>>
rs2=conn.execute("Select * from reviewer")
while not rs2.eof
<<ausgabe der reviews>>
wend
rs.movenext
wend