1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen
  2. Willkommen im Forum für alle Datenbanken! Registriere Dich kostenlos und diskutiere über DBs wie Mysql, Oracle, Sql-Server, Postgres, Access uvm
    Information ausblenden

SELECT Ergbnis zwischenspeichern und mehrmals verwenden

Dieses Thema im Forum "MySQL und MariaDB" wurde erstellt von Defan, 7 Oktober 2011.

  1. Defan

    Defan Benutzer

    ich schon wieder ^^
    hab jetzt ne große select-anweisung, die in der WHERE-clausel öfters mal in der selben SELECT nachschaut ob es eine id gibt. also ".... WHERE id IN (SELECT id....)..." und das eben öfters...
    das problem ist jetzt, dass die anweisung so groß ist, dass "Too high level of nesting for select" kommt...
    ich weiß zwar nicht, ob das was helfen würde, aber kann man diese SELECT zwischenspeichern und dann als Ergbnis-menge bzw "variable" immer wieder durchsuchen??

    danke
     
  2. Charly

    Charly Datenbank-Guru

    Hallo Defan,

    Du könntest dir eine VIEW bauen um das Problem zu umgehen.

    Gruß Charly
     
  3. ukulele

    ukulele Datenbank-Guru

    Man kann in einem SELECT keine Variablen deklarieren, somit auch in den meisten Fällen keine Variablen nutzen, schon gar keine Arrays mit mehreren Werten oder dergleichen.

    Der eleganteste Weg wäre hier tatsächliche die View wie Charly schon sagte. Aber bei der Fehlermeldung scheint es als hättest du ziemlich viel verschachtelt, ich hatte sowas bisher nur bei Triggern die sich endlos gegenseitig gestartet haben.
     
  4. Charly

    Charly Datenbank-Guru

    Hallo Defan,

    Dazu müsstest Du eine Stored Procedure (ab mySQL 5 geht das ja) schreiben. Damit kannst Du dann auch Schleifen und Variablen verwenden.

    Gruß Charly
     
  5. Defan

    Defan Benutzer

    sorry für die späte antwort... also mit views gehts irgendwie nicht... allein schon deswegen, wenn alles mehr als einmal aufgerufen wird, dann existiert der view ja schon... und auch so gabs irgendein problem... ich probiers jetzt nochmal mit der stored procedure
     
  6. ukulele

    ukulele Datenbank-Guru

    Eine View sollte auch durchgehend existieren, sie wird ja nicht während eines SELECTs erstellt und dann wieder verworfen. Die View ist immer aktuell, muss also nie neu erstellt werden. Auf die View kann man dann jedesmal einen SELECT machen, der aber dann wesentlich simpler ausfällt.
     
Die Seite wird geladen...

Diese Seite empfehlen