SELECT: mehrfach sortieren

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

  • 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

    Comment


    • #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.

      Comment


      • #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

        Comment


        • #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.

          Comment


          • #6
            deine query hat erstens nen syntaxfehler und zweitens zu aufwändig. und falsch, weil falschrum.
            Last edited by TobiaZ; 10-12-2004, 18:22.

            Comment


            • #7
              @tobiaZ:

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

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

              Comment


              • #8
                Auf jeden fall

                Comment

                Working...
                X