Announcement

Collapse
No announcement yet.

MySQL Abfrage die als union sich nicht nach einer Left Join Textspalte sortieren läßt

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • #16
    Originally posted by ZENeca View Post
    aber einfach so bekomme ich das mit einer solchen Verschahtelung einfach nicht mehr gebacken
    Du musst Dir mal klar machen, wie man mit SQL (mit Mengen) arbeitet.

    Ich kann jetzt hier keinen kompletten Kurs liefern, also nur ein paar Stichpunkte:
    Eine Where Bedinung funktioniert immer nur mit Spalten, die laut Fromclause verfügbar sind.
    Klammern um ein komplettes Select Statement erlauben die Verschachtelung eben solcher.
    Im Fall Union bestimmt das erste Select Statemnt die Feldnamen und Struktur der Felder.
    Wenn Du also ein Union klammerst und darüber weitere Abfragen legst, kannst Du natürlich nur die Felder erreichen, die das Union liefert.
    Gruß, defo

    Comment


    • #17
      Originally posted by ZENeca View Post
      ich komm da nicht mehr an Spalten die nicht im SELECT aufgeführt sind
      Wie auch, die Spalten sind ja auch nicht Bestandteil des SELECTs von X.

      WHERE Bedingung halt bei den einzelnen UNION SELECT hinzufügen

      Comment


      • #18
        Originally posted by ebis View Post
        Wie auch, die Spalten sind ja auch nicht Bestandteil des SELECTs von X.

        WHERE Bedingung halt bei den einzelnen UNION SELECT hinzufügen
        boar, dann werden die Ausdrücke schnell ewig lang,
        denn es können schnell mal 5-6 UNIONs werden
        und wenn man dann in vielen Spalten eine dezidierte Suchanfrage macht
        wächst das schnell
        ...werden zu lange Ausdrücke nicht zu einem Performanceproblem?
        ab wann wird das kritisch und wo ist die endgültige Grenze?

        Comment


        • #19
          war hier falsch....

          Comment


          • #20
            Originally posted by defo View Post
            Du musst Dir mal klar machen, wie man mit SQL (mit Mengen) arbeitet.

            Ich kann jetzt hier keinen kompletten Kurs liefern, also nur ein paar Stichpunkte:
            Eine Where Bedinung funktioniert immer nur mit Spalten, die laut Fromclause verfügbar sind.
            Klammern um ein komplettes Select Statement erlauben die Verschachtelung eben solcher.
            Im Fall Union bestimmt das erste Select Statemnt die Feldnamen und Struktur der Felder.
            Wenn Du also ein Union klammerst und darüber weitere Abfragen legst, kannst Du natürlich nur die Felder erreichen, die das Union liefert.
            hmm, ja, das "Mengenthema" ist recht neu für mich
            dann ist es vermutlich besser alle Splaten mit aufzunehmen
            nach denen auch gesucht wird, mal schauen, ob ich das irgendwie automatisiert hinbekomme
            danke erst mal..

            Zen

            Comment


            • #21
              Ich würde sagen es gibt keinen eindeutigen Zusammenhang zwischen Abfragelänge und Ausführungsdauer.
              Ok, längere Abfrage muss länger geparsed werden. Geschenkt.
              Spannender ist die Zeitspanne des Datenaufbereitens und des Transport zum Client.
              Je nach Kriterien und Mengengerüst können dutzende Kriterien flotter Ergebnisse liefern als nur 1 oder 2.,..
              Das hängt von vielen Parametern ab, Indizierung, Bedingungslogik, ..

              Wie auch immer, es hilft Dir nichts, "Performance zu sparen" und auf diesem Weg falsche Ergebnisse oder untaugliches SQL zu produzieren.
              Gruß, defo

              Comment

              Working...
              X