2016-03-30 14 views
-1

Ich versuche, die Liste der spezifischen Job # aus dem Ladedatum in unserer Datenbank mit der spezifischen Bedingung zu finden, und ich muss auch inner Join verwenden. Ich möchte die letzten 15 Tage von Job # in meinem Geschäftsprozess haben. Wie richte ich das LoadDate ein, das sich nur für die letzten 15 Tage automatisch ändert?15 Tage vor heute in SQL Server

Hier ist meine Frage:

select pr.Job_Number, 
     Count(ItemCode1) as [Total Records], 
     si.PackageComplete 
from 
    processed_record pr 
inner join scanner_2 si on pr.ItemCode1 = si.ItemCode1 
where 
    pr.Format_Name like '%Lin%' and pr.LoadDate >= '03/01/2016' 
group by 
    pr.Job_Number, si.PackageComplete 
order by 
    si.PackageComplete, pr.Job_Number 
+0

Set [Schlechte Angewohnheiten, NOLOCK überall hinzuschieben] (http://blogs.sqlsentry.com/aaronbertrand/bad-habits-nolock-everywhere/) - es wird * nicht empfohlen *, diesen Tabellenhinweis überall zu verwenden –

+0

warum verwendest du nicht DATEADD (tag, -15, getdate()) statt '03/01/2016 '? – alessalessio

+0

somethign wie, pr.LoadDate (DATEADD (Tag, -15, getdate())) ?? –

Antwort

0

Sie nutzen könnten

CONVERT(date, DATEADD(DAY, -15, GETDATE())) 

Ihr fix Datum Wert insted.

Mit diesem Code empfangen Sie das aktuelle Datum GetDate() und subtrahieren 15 Tage DateAdd(day, -15, DateValue)

Finaly Sie es in Datum Typ konvertieren Convert(date, value) sonst würden Sie die aktuelle Zeit bekommen, auch.

0

Ihre Abfrage sollte wie folgt sein:

select pr.Job_Number, 
     Count(ItemCode1) as [Total Records], 
     si.PackageComplete 
from 
    processed_record pr 
inner join scanner_2 si on pr.ItemCode1 = si.ItemCode1 
where 
    pr.Format_Name like '%Lin%' and pr.LoadDate >= DATEADD(DAY,-15,GETDATE()) 
group by 
    pr.Job_Number, si.PackageComplete 
order by 
    si.PackageComplete, pr.Job_Number 

GETDATE() wird das aktuelle Datum erhalten und DATEADD() Funktion (subtrahieren) -15 Tage hinzuzufügen.

+0

in loaddate (datetime, null) Spalte Werte sind wie 2015-11-18 15: 47: 20.310 und so bekomme ich nicht erwartet Ergebnis mit der obigen Abfrage. –

+0

Ich denke, deine Frage ist nicht klar. Sie haben 15 Tage lang nach Daten gefragt, und in Ihrer Abfrage wählen Sie nicht die Spalte "Ladedatum" aus. Was erwarten Sie als Ausgabe? Warum sagst du "2015-11-18 15: 47: 20.310" ist ein Problem? –

+0

haben wir den spezifischen Spaltennamen "LoadDate", der das Datum und die Uhrzeit im obigen Beispiel für jeden Datensatz erfasst. –