Guten Tag ,
Ich benutze folgende Abfrage :
IF DATEPART(month, GETDATE()) = 12
BEGIN
SELECT TOP (100) PERCENT dbo.Umsatzplan.Rechnungsdatum, dbo.Angebot.Notiz, dbo.Umsatzplan.Summe, dbo.Mitarbeiter.Name
FROM dbo.Projekte INNER JOIN
dbo.Umsatzplan ON dbo.Projekte.Code = dbo.Umsatzplan.Projektcode INNER JOIN
dbo.Mitarbeiter ON dbo.Projekte.BenutzerCode = dbo.Mitarbeiter.Code RIGHT OUTER JOIN
dbo.Angebot ON dbo.Umsatzplan.BZObjMemberCode = dbo.Angebot.Code
WHERE (MONTH(dbo.Umsatzplan.Rechnungsdatum) = DATEPART(month, GETDATE())-11) AND (YEAR(dbo.Umsatzplan.Rechnungsdatum) = DATEPART(YEAR, GETDATE())+1) AND (dbo.Umsatzplan.Verrechnet = 0)
ORDER BY dbo.Umsatzplan.Rechnungsdatum DESC
END
ELSE
BEGIN
SELECT TOP (100) PERCENT dbo.Umsatzplan.Rechnungsdatum, dbo.Angebot.Notiz, dbo.Umsatzplan.Summe, dbo.Mitarbeiter.Name
FROM dbo.Projekte INNER JOIN
dbo.Umsatzplan ON dbo.Projekte.Code = dbo.Umsatzplan.Projektcode INNER JOIN
dbo.Mitarbeiter ON dbo.Projekte.BenutzerCode = dbo.Mitarbeiter.Code RIGHT OUTER JOIN
dbo.Angebot ON dbo.Umsatzplan.BZObjMemberCode = dbo.Angebot.Code
WHERE (MONTH(dbo.Umsatzplan.Rechnungsdatum) = DATEPART(month, GETDATE())+1) AND (YEAR(dbo.Umsatzplan.Rechnungsdatum) = DATEPART(YEAR, GETDATE())) AND (dbo.Umsatzplan.Verrechnet = 0)
ORDER BY dbo.Umsatzplan.Rechnungsdatum DESC
END
Ich bekomme zwar Datensätze raus allerdings kann ich diese Abfrage nicht als Sicht speichern.
Folgender Fehler tritt auf :
Falsche Syntax in der Nähe des 'IF' - Schlüsselwortes.
Danach öffnet sich noch ein Fenster mit folgender Fehlermeldung :
Vorgang durch Benutzer im Dialog "Speichern" abgebrochen.
(MS Visual Database Tools)
Kann mir jemand die Abfrage evtl in Case umschreiben ?
Vll funktioniert es ja dann
Mfg dbmaxi
Ich benutze folgende Abfrage :
IF DATEPART(month, GETDATE()) = 12
BEGIN
SELECT TOP (100) PERCENT dbo.Umsatzplan.Rechnungsdatum, dbo.Angebot.Notiz, dbo.Umsatzplan.Summe, dbo.Mitarbeiter.Name
FROM dbo.Projekte INNER JOIN
dbo.Umsatzplan ON dbo.Projekte.Code = dbo.Umsatzplan.Projektcode INNER JOIN
dbo.Mitarbeiter ON dbo.Projekte.BenutzerCode = dbo.Mitarbeiter.Code RIGHT OUTER JOIN
dbo.Angebot ON dbo.Umsatzplan.BZObjMemberCode = dbo.Angebot.Code
WHERE (MONTH(dbo.Umsatzplan.Rechnungsdatum) = DATEPART(month, GETDATE())-11) AND (YEAR(dbo.Umsatzplan.Rechnungsdatum) = DATEPART(YEAR, GETDATE())+1) AND (dbo.Umsatzplan.Verrechnet = 0)
ORDER BY dbo.Umsatzplan.Rechnungsdatum DESC
END
ELSE
BEGIN
SELECT TOP (100) PERCENT dbo.Umsatzplan.Rechnungsdatum, dbo.Angebot.Notiz, dbo.Umsatzplan.Summe, dbo.Mitarbeiter.Name
FROM dbo.Projekte INNER JOIN
dbo.Umsatzplan ON dbo.Projekte.Code = dbo.Umsatzplan.Projektcode INNER JOIN
dbo.Mitarbeiter ON dbo.Projekte.BenutzerCode = dbo.Mitarbeiter.Code RIGHT OUTER JOIN
dbo.Angebot ON dbo.Umsatzplan.BZObjMemberCode = dbo.Angebot.Code
WHERE (MONTH(dbo.Umsatzplan.Rechnungsdatum) = DATEPART(month, GETDATE())+1) AND (YEAR(dbo.Umsatzplan.Rechnungsdatum) = DATEPART(YEAR, GETDATE())) AND (dbo.Umsatzplan.Verrechnet = 0)
ORDER BY dbo.Umsatzplan.Rechnungsdatum DESC
END
Ich bekomme zwar Datensätze raus allerdings kann ich diese Abfrage nicht als Sicht speichern.
Folgender Fehler tritt auf :
Falsche Syntax in der Nähe des 'IF' - Schlüsselwortes.
Danach öffnet sich noch ein Fenster mit folgender Fehlermeldung :
Vorgang durch Benutzer im Dialog "Speichern" abgebrochen.
(MS Visual Database Tools)
Kann mir jemand die Abfrage evtl in Case umschreiben ?
Vll funktioniert es ja dann
Mfg dbmaxi