kennt sich jemand in mysql aus?

Dieses Thema im Forum "Programmieren" wurde erstellt von cadm, 31. Januar 2005.

Status des Themas:
Es sind keine weiteren Antworten möglich.
  1. cadm

    cadm ROM

    Registriert seit:
    30. Januar 2005
    Beiträge:
    7
    hallo
    ich hab eine tabelle mit ca 7 einträgen. die tabelle hat eine kolonne "index", wo jeder eintrag einen index hat. nun will ich nur gewisse einträge mittels dieses indexes auswählen und anzeigen. wie muss die syntax im mysql-befehl sein?

    meine version, die nicht funktioniert:
    select *from tabelle where index=1,2,3,6

    ich nehme an, das problem liegt bei der auflistung der index-nummern.
    wenn ich mit AND arbeiten würde, wäre eine anfrage über ca 10 einträge schon recht mühsam...
     
  2. kalweit

    kalweit Hüter der Glaskugel

    Registriert seit:
    18. April 2000
    Beiträge:
    31.487
    Einfach keine Bedingung für index in der Abfrage angeben. Da das Ergebnis mit Sicherheit eh durch eine while-Schleife für die Ausgabe geht, kannst du das über eine "switch" oder "if" (dann wäre es aber nahezu das Gleiche wie im select) - Anweisung innerhalb dieser regeln. Das mit AND funktioniert übrigens nicht, wenn dann OR. Ohne genauere Kenntnis kann man aber über die Sinnhaftigkeit des selects keine Aussage treffen...

    Gruss, Matthias
     
  3. Hoshy

    Hoshy Kbyte

    Registriert seit:
    10. November 2004
    Beiträge:
    131
    Korrekte ANSI-SQL Syntax wäre in diesem Fall:

    select * from tabelle where index in (1,2,3,6)

    Sollte eigentlich auch genauso in mySQL funzen...
     
  4. cadm

    cadm ROM

    Registriert seit:
    30. Januar 2005
    Beiträge:
    7
    habs zwischenzeitlich hingekriegt. ja, das mit der while-schleife war ne gute idee. habs aber so gemacht:
    $count=count($einträge);
    for ($i=0;$i<$count;$i++) {

    $sql="SELECT * FROM mesures WHERE index=\"$einträge[$i]\"";
    $result=@mysql_db_query($dbname,$sql,$id_link);
    //etc.
    }

    ist ne saubere sache, so ein forum;) gruss
     
  5. kalweit

    kalweit Hüter der Glaskugel

    Registriert seit:
    18. April 2000
    Beiträge:
    31.487
    Naja, es löst zwar erst mal dein Problem - jedoch wenn du alle Datenbankabfragen so gestaltest, bekommst ab ein paar hundert Einträgen bzw. bei ein paar (wirklich nur ein paar) gleichzeitigen Zugriffen massive Probleme mit der Datenbankleistung...

    Gruss, Matthias
     
Status des Themas:
Es sind keine weiteren Antworten möglich.

Diese Seite empfehlen