Giovanni Rena: HTML Befehl optimieren

Hallo,

der folgende Befehl wird ja so abgearbeitet: zuest wird der zweite Select (auf tabelle2) 1x ausgeführt und danach wird jeder Datensatz der Tabelle1 durchlaufen und wird geprüft ob die Bedingung stimmt. Ist das so richtig?

Select Count(*) from tabelle1 where ID in (select ID from tabelle2 where Bedingung1=52230 and Bedingung2 between 0000 and 1040)

Ich kann ja auch irgendwie einen verschachtelten select machen, so dass   der 2. select für jede Abfrage des 1. selects durchlaufen wird. Sprich, wäre also total ineffizient. Wie würde dieser SQL-Befehl aussehen?

Ich wills halt wissen um es zu vermeiden, damit mir sowas nicht passiert.

LG

  1. Hallo,

    erstens gehört deine Frage doch wohl in die Kategorie "Datenbank",
    zweitens hat sie mit HTML nichts zu tun,
    drittens gibt es in HTML keine Befehle,

    und viertens hab ich von dem, was du wirklich wissen willst, keine Ahnung. ;-)

    Ciao,

    Martin

    1. Sorry, hab zu sehr an HTML-Forum gedacht, meinte natürlich SQL-Befehl :-)

      Bei verschachtelten Select-Befehlen kann ich diese so schreiben, dass der verschachtelte SQL-Befehl nur einmal ausgeführt wird, und der normale SQL-Befehl sich jede entsprechende Zeile rausfischt ohne den verschachtelten Befehl aufs neue ausuführen.

      Ich kann auch den Select-Befehl so schreiben, das der verschachtelte Befehl für jeden Datensatz immer wieder neu ausgeführt wird.

      Weiß nun leider nicht mehr genau wie man diese jeweils aufgebaut sind. Kann mir da mal jemand helfen?

  2. yo,

    Select Count(*) from tabelle1 where ID in (select ID from tabelle2 where Bedingung1=52230 and Bedingung2 between 0000 and 1040)

    die unterabfrage sollte nur einmal ausgeführt werden und das ergebnis wird von dem jeweiligen dbms "gemerkt", da sie unabhängig von der oberen abfrage ist oder mit andeern worten immer zum gleichen ergebnis führen würde. anderes würde es bei korreliereden unterabfragen ausssehen.

    Ilja