SELECT: mehrfach sortieren

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • SELECT: mehrfach sortieren

    hab mir grad mein hirn verrenkt...
    bitte um kurzen schlag auf den hinterkopf:

    PHP-Code:
    $sql="SELECT thema, autor, position FROM topic
    WHERE autor='FREMD' OR autor=
    $varautor
    ORDER BY position"

    in der tabelle topic können die spalten THEMA und POSITION mehrfach vorkommen.
    der Wert AUTOR ist entweder "FREMD", oder hat einen
    eigennamen.

    jetzt möchte ich sortieren:
    zuerst alle einträge, mit AUTOR = "FREMD", in der Reihenfolge
    von position, und dann die restlichen ebenfalls sort by position.

    mit
    PHP-Code:
    ...ORDER BY autorposition 
    habe kommen die einträge "FREMD" aber nicht am anfang,
    da ja nach alphabet sortiert wird, und $varautor z.b "alfred" ist.

    muss doch gehn. mit
    PHP-Code:
    SELECT IF (autor=''FREMD'... 
    erfolglos rumgemurkst.

    bei meiner suche konnte ich nur das hier finden:
    http://www.php-resource.de/forum/sho...f&pagenumber=2


    wo is der schlauch?

  • #2
    Re: SELECT: mehrfach sortieren

    wo is der schlauch?
    mach doch so, sinngemäß ...
    Code:
    ORDER BY (IF autor = fremd, 0, 1), postion ...
    Die Zeit hat ihre Kinder längst gefressen

    Kommentar


    • #3
      du wolltest es so!

      in der tabelle topic können die spalten THEMA und POSITION mehrfach vorkommen.
      Nee, ganz bestimmt nicht!

      Wie hast du es mit IF versucht. das sollte nämlich gehen.

      Kommentar


      • #4
        @tobiaz: wollte ich das?

        @hund: ja, warum nicht?

        war mir wohl zu simpel....
        danke.

        meine erfolgloser versuch:

        PHP-Code:
        SELECT (IF autor='FREMD,0,concat(0,autor)) AS posneu
        ... SORT BY posneu, position 
        zu deutsch: wenn autor=FREMD, dann soll der Alias posneu
        "0FREMD" werden, mit ner null davor wärs dann am anfang

        ächz

        eine null am ende...
        auch ne schöne überschrift

        Kommentar


        • #5
          Code:
          autor='FREMD
          gefällt mir ausgesprochen gut! mysql sicher auch! vorallem warscheinlich ohne or die ( mysql_error() );

          Es kommt nicht darauf an, mit dem Kopf durch den Monitor zu rennen,
          sondern mit den Augen das Manual zu lesen.

          Kommentar


          • #6
            deine query hat erstens nen syntaxfehler und zweitens zu aufwändig. und falsch, weil falschrum.
            Zuletzt geändert von TobiaZ; 10.12.2004, 18:22.

            Kommentar


            • #7
              @tobiaZ:

              ja... das FREMD fehlt. das sollte nicht sein. danke

              aber die variante vom hund ist jedenfalls eleganter und kürzer,
              thanx all.

              Kommentar


              • #8
                Auf jeden fall

                Kommentar

                Lädt...
                X