2017-09-29 18 views
0

Ich habe eine Frage zu stellen. Derzeit entwickle ich eine Lohnzettelanwendung. Allerdings blieb ich bei 1 Teil des Prozesses stecken. Es ist mir gelungen, Gehalt anzuzeigen, aber ich muss ein bestimmtes Datum filtern, damit das Gehalt angezeigt wird.Daten filtern nach Datum

Zum Beispiel, für diesen September, das Unternehmen bereits das Gehalt am 26. September eingeben, aber Benutzer kann nur ab dem 28. September und oben sehen. Also, im Grunde kann das Programm Vormonats payslip zeigen außer für September, es sei denn Anfang Benutzer sehen es am 28. September

Aktuelle Ausgabe:

EMPLOYEEID MONTH YEAR SALARY 
E001   7 2017 2000 
E001   8 2017 2000 
E001   9 2017 2000 
E002   7 2017 2100 
E002   8 2017 2100 
E002   9 2017 2100 

Erwartung Ausgabe:

EMPLOYEEID MONTH YEAR SALARY 
E001   7 2017 2000 
E001   8 2017 2000 
E002   7 2017 2100 
E002   8 2017 2100 

aktuelle Abfrage Fortschritt :

SELECT  EMPLOYEEID, MONTH, YEAR, SALARY 
FROM   DBO.Salary 
WHERE   day(getdate())>=28 

Antwort

1

Heute ist 2017-09-29, sollte September erscheinen. Fügen Sie das ODER hinzu, wenn es weniger als 28 ist.

select * 
from dbo.Salary s1 
where day(getdate())>=28 
or month(getdate()) > s1.Month 
+0

Super! Danke John HC. – Safwan