Ich habe eine Abfrage, die ich benutze Aussagen zu erzeugen, den Betrag für den Monat zeigt, die auf Datum basierend berechnet wird Parameter- @StartDate und @EndDateWie erhalten Sie @StartDate - 30 in SQL Server 2014?
in der Erklärung enthält, würde Ich mag die Menge hinzuzufügen Aufgrund von der vorherige Monat (Fälligkeit des vorherigen Monats) für einen Datumsbereich @StartDate - 30 bis @EndDate - 30. Welchen Code würde das ausführen?
Mein Code:
set nocount on
Declare @S AS DateTime = ISNULL(@StartDate,DateAdd(d,-60,GETDATE()))
Declare @anum as nvarchar(8) = ISNULL(@panum,'25991275')
Declare @E AS DateTime = ISNULL(@EndDate,DateAdd(d,-0,GETDATE()))
SELECT A.AccountNumber
,C.FirstName + ' ' + C.LastName CustName
,[InvoiceNumber]
,[StatementDate]
,[NewCharges]
,[AmountDue]
,[Charges]
,[AccountFee]
,[Interest]
,[Payments]
,[Refunds]
,[DueDate]
FROM [StatementSummary] S
INNER JOIN Account A ON S.AccountID = A.Accountid
INNER JOIN Contact C ON A.AccountId = C.AccountId
WHERE A.AccountNumber = @anum
AND StatementDate >= @S
AND StatementDate <= @E
ORDER BY StatementDate DESC
ich den folgenden Code auszuführen dachte einen anderen Datensatz zu machen:
SELECT Top 1 AcctBalance
FROM [FinMaster]
WHERE AcctID = @anum
AND BusinessDay >= @S - 30
AND BusinessDay <= @E - 30
ORDER BY AcctBalance DESC
Wie kann ich hinzufügen, den Datumsbereich, um zurück zum vorherigen Monate?
Wenn ich diesen zweiten Code als Zeile im ersten Code hinzufügen könnte, dann muss ich keinen zweiten Datensatz für meinen Bericht erstellen.
Danke. Wie würde ich das in Code schreiben? – user1777929
Eigentlich sollte OUTER gelten und Eomonth Funktion – maSTAShuFu