joins ueberschreiben

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

  • joins ueberschreiben

    hallo liebe gemeinde,
    habe grade probleme mit einer sql abfrage, einem join.
    sieht so aus

    PHP-Code:
    SELECT
          a
    .id,a.name,a.birthdayb.uidb.tid FROM users a
          INNER JOIN buddies b ON a
    .id='REGEXP 0x2e2a3f' AND a.id b.uid       
          
    OR a.id 1 where a.id=/**hier kommt der fehler **/


    union select a.name,'a','a','a','a' from anothertable a

     order by a
    .name ASC
    limit 0
    ,
    über denn sinn kann man natuerlich streiten, lerne nur gerade sql+joins.
    der error ist jedenfalls, dass a.name nicht gefunden wurde im order teil. habe es doch aber wie oben das ganze selectet. wo ist der fehler?

    danke!

  • #2
    Zitat von svr Beitrag anzeigen
    der error ist jedenfalls, dass a.name nicht gefunden wurde im order teil.
    So drückt sich die Datenbank bestimmt nicht aus. Bitte zitiere Fehlermeldungen im Wortlaut.
    I don't believe in rebirth. Actually, I never did in my whole lives.

    Kommentar


    • #3
      #1054 - Unknown column 'a.name' in 'order clause'

      obwohl ich doch das ganze richtig verwende, oder nicht?
      die column "name" gibt es natuerlich in "anothertable"

      Kommentar


      • #4
        Zitat von svr Beitrag anzeigen
        obwohl ich doch das ganze richtig verwende, oder nicht?
        Vermutlich eher „oder nicht“.

        Lies mal hier bzgl. ORDER BY bei UNIONs nach: MySQL :: MySQL 5.1 Reference Manual :: 12.2.8.3 UNION Syntax
        I don't believe in rebirth. Actually, I never did in my whole lives.

        Kommentar


        • #5
          dnake, aber das hilft mir nicht viel.

          habe mal etwas gelesen, aber ich weiss nicht wo mein fehler liegt.

          das geht ja
          PHP-Code:
          SELECT
                a
          .id,a.name,a.birthdayb.uidb.tid FROM users a
                INNER JOIN buddies b ON a
          .id='REGEXP 0x2e2a3f' AND a.id b.uid       
                
          OR a.id 1 where a.id=
           order by a
          .name DESC
          limit 0
          ,
          wenn ich aber das ganze GENAU so wie oben ueberschreibe krieg ich den fehler

          Kommentar


          • #6
            Das Ergebnis von UNION kennt keine Tabellennamen mehr. Wie denn auch? Beispiel:
            PHP-Code:
            (
                
            SELECT a.foo FROM tabelle_a AS a
            )
            UNION
            (
                
            SELECT b.foo FROM tabelle_b AS b

            Heißt die Spalte jetzt a.foo oder b.foo? Soll das per Zufall entschieden werden? Nein, sie heißt einfach nur foo.

            Davon abgesehen ist "name" ein Schlüsselwort in SQL und sollte nicht als Spaltenname verwendet werden.
            Zuletzt geändert von h3ll; 09.10.2010, 15:17.

            Kommentar


            • #7
              Zitat von svr Beitrag anzeigen
              dnake, aber das hilft mir nicht viel.

              habe mal etwas gelesen, aber ich weiss nicht wo mein fehler liegt.
              Und das hältst du jetzt für irgendwie hilfreich in Bezug auf das Problem ...?

              „Habe mal etwas gelesen“ - *seufz*, *omfg*

              Direkt an der Stelle, wo ORDER BY im Dokument zum ersten Mal auftaucht ([strg]+[f]), wird die Problematik erklärt.
              I don't believe in rebirth. Actually, I never did in my whole lives.

              Kommentar


              • #8
                diese stelle habe ich auch gelesen, klar. mit einem table alias â la "AS" klappt es auch, moechte es aber gerne anders hinkriegen.

                wenn jemand eine hilfe geben moechte, danke!

                Kommentar

                Lädt...
                X