enttäuschung(mysql - subselects)

  • ich bin grad draufkommen dass mysql keine subselects kann
    das darf ja nicht wahr sein, sowas können doch so ziemlich alle DBMS

    *grml*

  • mit dem hab ich mir auch schon die zähne ausgebissen gibs ich draufgekommen bin wieso das script ned klappt

    ich verwende ober noch ne alte mysql version 3.23....

    hast du ne neuere? vielleicht unterstützt es das ja inzwischen

  • Auch ich bin vor 2 Tagen draufgekommen, warum einige meiner Queries nicht funktioniert haben, voll arg...

    The idea behind this technique is surprisingly simple: just go ahead and do whatever you want to without paying attention to what anybody else is doing. If there is a problem, worry about it later. (Many politicians use this algorithm, too) -- A. S. Tanenbaum, M. v. Steen, Distributed Systems

  • ja, is voll arg, bis man subselects so hinbekommt dass in mysql funktioniert
    da hat man schön zum tüfteln, besonders bei komplexeren abfragen geht da schon einige zeit drauf

  • ich habs bis jetzt immer so gelöst falls ich ein subselect brauchte
    (is PHP)

    Code
    $ergebnis = mysql_query("query1");
    while($datensatz = mysql_fetch_array($ergebnis))
    {
      $ergebnis2 = mysql_query("query2");
      while($datensatz2 = mysql_fetch_array($ergebnis2))
      {
    
    
      }
    }


    trotzdem sehr umstöndlich..., :(

  • Zitat von Tschebel

    trotzdem sehr umstöndlich..., :(

    yup. Aber was will man tun, wenn man MySQL vorgeschrieben bekommt ... ich persönlich würde PostgreSQL empfehlen.

    *** Make it idiot proof, and someone will build a better idiot. ***

  • auf den meisten webservern ist halt mal mysql installiert,

    ich frag mich eh warum sich gerade mysql durchgesetzt hat

  • ...das ist mir mal bei einem test in informatik passiert, dass ich mit sub-selects gearbeitet habe (ich glaubte instinktiv "das müsste so doch gehen") -> bis mir dann der prof. sagte, dass mysql das (zumindest in der version) nicht unterstützt!
    -> mann kann sub-selects aber einfach aufsplitten
    -> einzelne attribute mit z.B. AND verknüpfen (richtige klammernsetzung ist halt wichtig)

    Zitat von Tschebel
    Code
    $ergebnis = mysql_query("query1");
    while($datensatz = mysql_fetch_array($ergebnis))
    {
      $ergebnis2 = mysql_query("query2");
      while($datensatz2 = mysql_fetch_array($ergebnis2))
      {
    
    
      }
    }


    ...also so ist das schon etwas kompliziert!! ;)

    mfg marX

  • version 5 von mysql ist beriets drausen und diese unterstuzt (in gegenstatz zu 3.2x)

    - transaktionen
    - subqueries = subselects
    - stored procedures
    - foreign keys
    - halt dass, wass man von einem DBMS erwartet.

    In der 3.2x doku fidnet mann, dass mann (meistens) subselects mit joints simulieren kann, mann braucht also keine genesteten while ($row = mysql_fetch...) dings. (Ich bin mit mysql ``aufgewachsen'' un mann gewoehn sich schnell daran die joints zu benutzen..)

    Es gibt viele laute die gegen mysql argumentieren mit sachen wie ``keine transaktionen/subqueries/forein keys/stored procedures''. Im der 3.2x doku wir argumentiert das auf einige diese paradigmen ferzichtet wurde, dies aber die effizienz/schnelligkeit von queries erhoeht.

    @posgre
    Irgentwo auf den sqlite seiten stehen ergebnisse von 10000 inserts/selects/updates mit mysql/postgre/sqlite. Bei einer DEFAULT (nicht getunten) installation von postgre dauerte der test ~ 10 sek. Bei Mysql und sqllite um die 2 sekunden.

    Wer aber unbedingt auf subqueries besteht, der benutze version > 5.

    De part de ma chandelle verte, je ne comprends pas.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!