Announcement

Collapse
No announcement yet.

Fehler im SQL-Statement

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

  • Fehler im SQL-Statement

    Hallo,
    ich habe einen Syntaxfehler in folgender Abfrage.
    Code:
    Declare @Lief varchar(5)
    set @Lief='TI'
    SELECT     TOP (100) PERCENT dbo.TA_Teilestamm_MatBest.ZeichnungsNr, dbo.TA_Teilestamm_MatBest.Teilebez1, dbo.TA_Teilestamm_MatBest.TEILEBEZ2, 
                          dbo.TA_Teilestamm_MatBest.BezAlle, dbo.TA_WEPO_Vorjahr.LIEF_NR, sum(V.LI_MENG_MEE) OVER (Partition by V.TEILENR,V.LIEF_NR) LI_Menge, 
                          count(*) OVER (PARTITION By V.TEILENR,V.LIEF_NR) Anzahl, X.LiefLI_Menge, X.LiefAnzahl
    FROM         dbo.TA_Teilestamm_MatBest INNER JOIN
                          dbo.TA_WEPO_Vorjahr ON 
                          dbo.TA_Teilestamm_MatBest.TNR = dbo.TA_WEPO_Vorjahr.TEILENR COLLATE SQL_Latin1_General_CP1_CI_AS AS V LEFT OUTER JOIN
    (SELECT     distinct TA_WEPO_Vorjahr.TEILENR, TA_WEPO_Vorjahr.LIEF_NR, dbo.VW_TTD_WE_Charge.IDENTBEZ,sum(TA_WEPO_Vorjahr.LI_MENG_MEE) OVER (Partition by TEILENR,LIEF_NR) LiefLI_Menge, count(*) OVER (PARTITION By TEILENR,LIEF_NR) LiefAnzahl
    FROM       TA_WEPO_Vorjahr LEFT OUTER JOIN
                          dbo.VW_TTD_WE_Charge ON TA_WEPO_Vorjahr.CHARGE = dbo.VW_TTD_WE_Charge.Charge
    WHERE     ( IDENTBEZ = @Lief)) As X
    
    ON V.TEILENR = X.TEILENR
                          dbo.VW_TTD_WE_Charge ON dbo.TA_WEPO_Vorjahr.CHARGE = dbo.VW_TTD_WE_Charge.Charge
    ORDER BY dbo.TA_Teilestamm_MatBest.ZeichnungsNr
    Ich bekomme den Fehler : Falsche Syntax in der Nähe des 'AS'-Schlüsselwortes. Ich bekomme sie für beide Alias.
    Es wäre super wenn mir da jemand einen Tip geben könnte.

    Gruß
    Gerald

  • #2
    a) Formatierung von SQL in Beiträgen

    b) Das AS muss nu mal an der richtigen Stelle stehen
    [HIGHLIGHT="SQL"]Declare @Lief varchar(5)
    set @Lief='TI'
    SELECT dbo.TA_Teilestamm_MatBest.ZeichnungsNr, dbo.TA_Teilestamm_MatBest.Teilebez1, dbo.TA_Teilestamm_MatBest.TEILEBEZ2,
    dbo.TA_Teilestamm_MatBest.BezAlle, dbo.TA_WEPO_Vorjahr.LIEF_NR, sum(V.LI_MENG_MEE) OVER (Partition by V.TEILENR,V.LIEF_NR) LI_Menge,
    count(*) OVER (PARTITION By V.TEILENR,V.LIEF_NR) Anzahl, X.LiefLI_Menge, X.LiefAnzahl
    FROM dbo.TA_Teilestamm_MatBest
    JOIN dbo.TA_WEPO_Vorjahr AS V ON dbo.TA_Teilestamm_MatBest.TNR = dbo.TA_WEPO_Vorjahr.TEILENR COLLATE SQL_Latin1_General_CP1_CI_AS
    LEFT JOIN (SELECT distinct TA_WEPO_Vorjahr.TEILENR, TA_WEPO_Vorjahr.LIEF_NR, dbo.VW_TTD_WE_Charge.IDENTBEZ,
    sum(TA_WEPO_Vorjahr.LI_MENG_MEE) OVER (Partition by TEILENR,LIEF_NR) LiefLI_Menge, count(*) OVER (PARTITION By TEILENR,LIEF_NR) LiefAnzahl
    FROM TA_WEPO_Vorjahr
    LEFT JOIN dbo.VW_TTD_WE_Charge ON TA_WEPO_Vorjahr.CHARGE = dbo.VW_TTD_WE_Charge.Charge
    WHERE ( IDENTBEZ = @Lief)) As X ON V.TEILENR = X.TEILENR
    ORDER BY dbo.TA_Teilestamm_MatBest.ZeichnungsNr[/HIGHLIGHT]

    und Aliase könnte man auch noch mehr benutzen....

    Comment


    • #3
      Hallo,
      danke schon mal für die Antwort. Aber ich bekomme leider immer noch eine Fehlermeldung für die Zeile 3:
      Der mehrteilige Bezeichner "dbo.TA_WEPO_Vorjahr.TEILENR" konnte nicht gebunden werden. Und :
      Der mehrteilige Bezeichner "dbo.TA_WEPO_Vorjahr.LIEF_NR" konnte nicht gebunden werden.

      Gruß
      Gerald

      Comment


      • #4
        Hallo,

        dbo.TA_WEPO_Vorjahr hat ja jetzt auch den Alias V!

        Gruß Falk
        Wenn du denkst du hast alle Bugs gefunden, dann ist das ein Bug in deiner Denksoftware.

        Quellcode ohne ein Mindestmaß an Formatierung sehe ich mir nicht an! Ich leiste keinen Privatsupport per Mail oder PN!

        Comment

        Working...
        X