Der Versuch, einen Code zu erstellen, der zwei Umsatzspalten basierend auf einem abgeleiteten Datum summiert, wobei das abgeleitete Datum ein Samstag relativ zu date_1 ist. Der abgeleitete Datumsteil des Skripts funktioniert (auf einem viel größeren Datensatz als ich unten eingeschlossen habe), die Summierung geht jedoch von date_1 aus und nicht vom abgeleiteten Datum. Ich führe ein Beispiel für die Daten mit einer repräsentativen Tabelle und ein paar eingefügten Zeilen zusammen mit dem Code, den ich derzeit habe. (Dies ist für SQL Server 2012.)Wie erstelle ich summierte Werte aus einer abgeleiteten Datumsspalte?
CREATE TABLE temp_1 (date_1 datetime, , rev_1 money, rev_2 money)
INSERT into temp1 VALUES (2015-12-22 00:00:00.000, 200, 300)
INSERT into temp1 VALUES (2015-12-23 00:00:00.000, 300, 400)
INSERT into temp1 VALUES (2015-12-24 00:00:00.000, 600, 700)
INSERT into temp1 VALUES (2015-12-28 00:00:00.000, 400, 500)
INSERT into temp1 VALUES (2015-12-29 00:00:00.000, 500, 600)
INSERT into temp1 VALUES (2015-12-30 00:00:00.000, 800, 900)
INSERT into temp1 VALUES (2015-12-31 00:00:00.000, 700, 800)
Select
DATEADD(DAY
, 7 - (DATEPART(DW, CAST([date_1] as Date)))
, CAST([date_1] as Date)) as 'Weekend Date',
Round(Sum([rev_1]),2) as 'Rev1',
Round(SUM([rev_2]),2) as 'Rev2',
date_1
From temp_1
Where [date_1] > '20151221' and [date_1] < '20160101'
Group by date_1
Order by 'Weekend Date'
Meine Ergebnisse sind wie in den vorstehenden Werten eingefügt.
Die gewünschten Ergebnisse wäre (man beachte dies schließt die Spalte Datum_1):
Weekend Date rev_1 rev_2
2015-12-26 1100 1400
2016-01-02 2400 2800
Jede Hilfe auf diesem würde sehr geschätzt werden.
Vielen Dank @ Gordon Linoff! Das hat funktioniert. Für diejenigen, die nach diesen "DATEADD" -Teilen suchen, gibt es eine kleine syntaktische Korrektur. Ich werde den vollen Teil des Codes hier zur besseren Übersicht zeigen: DATEADD (DAY, 7 - (DATEPART (DW, CAST ([Übertragungsdatum] als Datum))) , CAST ([Übertragungsdatum] als Datum) \t \t \t) –
Wie Sie wahrscheinlich erkannt haben, bin ich neu in SQL Server-Codierung (ich bin ein IBM Cognos TM1-Entwickler), die einige schnelle Hilfe benötigt. @Gordon Linoff, am Ende Ihrer Antwort haben Sie von der Verwendung von einfachen Anführungszeichen für Spaltenaliase abgeraten. Wenn ich sie entferne, funktioniert der Code nicht. Wie sollte die Syntax für Aliasing-Spalten funktionieren? Wenn dies zu einem anderen Thread geschoben werden muss, bitte Beratung. Noch einmal Danke. –
Danke für den zusätzlichen Einblick in Alias-Namenskonventionen. –