Announcement

Collapse
No announcement yet.

Frage zu Spaltenalias

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

  • Frage zu Spaltenalias

    Hallo, ich habe folgende Abfrage:

    SELECT re.kundenr, re.rechnungnr,
    (CASE re.mahncode WHEN QUOTENAME('M0') THEN DATEADD(DAY, re.tagebismahnen, re.zahlziel)
    ELSE DATEADD(DAY, rm.mahnennach, re.letztemahnungdatum) END) AS mahntag, re.nachname,re.vorname,
    from Rechnungen re inner join
    RechnungenMahnstufen rm ON re.mandantid = rm.mandantid
    AND re.mahncode = rm.mahncode
    where mahntag > getdate()

    Nun kommt die Meldung: "Ungültiger Spaltenname mahntag"
    Lass ich "where mahntag > getdate()" weg läuft es, wenn ich danach dann "order by mahntag" hinzufüge läuft es auch ???

    Warum kann SQL den Spaltennamen so nicht verarbeiten oder wo ist der Fehler ?

    Gruß

    Matthias

  • #2
    Hallo,

    bei einer INFORMIX Datenbank kann man auch keinen
    Spaltenalias in die Where-anweisung schreiben. Das wird bei Dir auch so sein. Probiers noch mal an einem ganz primitiven Beispiel.

    Gruß frauwue
    docendo discimus

    Comment


    • #3
      Hallo frauwue,

      danke erst mal für die Antwort.
      Ich habe es schon an einem einfachen Bespiel ausprobiert:

      "Select kundenr as kunde from Rechnungen where kunde = xyz"

      kam dasselbe, also scheint es nicht zu funktionieren. Was mich allerdings an der Sache irritiert ist, das "order by kunde" (ohne where-Klausel) wiederum geht......

      Gruß
      Matthias

      Comment


      • #4
        Bei der Where Klausel wird auf den Inhalt der Tabelle zugegriffen
        Bei Order by auf das Abfrageergebnis.
        docendo discimus

        Comment

        Working...
        X