Fehler in Syntax

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

  • Fehler in Syntax

    Hallo,
    ich habe ein Problem mit ner SQL Abfrage:

    Code:
    SELECT * FROM (SELECT * FROM value v, devices d WHERE 
    v.geraet_id = d.id AND d.art ='1' ) WHERE DATE_FORMAT( v.zeit, '%i' ) 
    = '00' AND v.zeit BETWEEN '2006.10.30 0:00:00' AND '2006.10.30 
    09:08:02'
    führt zu folgender Fehlermeldung:
    #1248 - Every derived table must have its own alias
    Kann mir bitte jemand helfen?
    Zuletzt geändert von komikaa; 30.10.2006, 11:28.

  • #2
    Re: Fehler in Syntax

    Code umbrechen, sonst *trash*.
    I don't believe in rebirth. Actually, I never did in my whole lives.

    Kommentar


    • #3
      hoffe code ist so in ordnung?

      Kommentar


      • #4
        Also mach das, was die Meldung verlangt - auch jeder "derived Table" einen Alias geben.
        I don't believe in rebirth. Actually, I never did in my whole lives.

        Kommentar


        • #5
          leider kann ich da nix mit anfangen, sonst würde ich ja nicht posten

          Kommentar


          • #6
            Du weißt, was ein Alias ist?
            Du weißt, was "derived Table" bedeutet? (Wenn nein, übersetze es erst mal.)
            I don't believe in rebirth. Actually, I never did in my whole lives.

            Kommentar


            • #7
              alias hab ich doch, oder ist das value v kein alias?
              ist ein alias "as x"?

              Kommentar


              • #8
                Original geschrieben von komikaa
                alias hab ich doch, oder ist das value v kein alias?
                Doch, da hast du einen.

                Aber das Ergebnis deines Subselects, das hat keinen.
                I don't believe in rebirth. Actually, I never did in my whole lives.

                Kommentar


                • #9
                  Du kannst folgendes versuchen.

                  SELECT * FROM (SELECT * FROM value v, devices d WHERE
                  v.geraet_id = d.id AND d.art ='1' ) AS t WHERE DATE_FORMAT( t.zeit, '%i' )
                  = '00' AND t.zeit BETWEEN '2006.10.30 0:00:00' AND '2006.10.30
                  09:08:02'

                  es würde auch gehen ohne äusseren alias:

                  SELECT * FROM (SELECT * FROM value v, devices d WHERE
                  v.geraet_id = d.id AND d.art ='1' ) WHERE DATE_FORMAT( zeit, '%i' )
                  = '00' AND zeit BETWEEN '2006.10.30 0:00:00' AND '2006.10.30
                  09:08:02'

                  die Aliase v und d sind ausserhalb der subquery nicht bekannt, das ist alles daran.

                  Viel Glück.

                  Kommentar


                  • #10
                    Original geschrieben von wahsaga
                    Doch, da hast du einen.

                    Aber das Ergebnis deines Subselects, das hat keinen.
                    Es braucht auch keinen (Alias).

                    Kommentar

                    Lädt...
                    X