Ich verwende SSMS, SQL Server 2012 abzufragen. Ich brauche den Datensatz aus der NPH-Tabelle mit dem frühesten STARTDATE. Wenn ich einen Client mit Zeilen mit demselben Startdatum habe, bekomme ich eine Zeile. Aber für Kunden mit Zeilen mit unterschiedlichen Startdaten bekomme ich überhaupt keine Ergebnisse. Warum bringt es das min (Startdatum) nicht aus der Tabelle PLACEMENTHISTORY zurück?MIN (DATE) funktioniert nicht in SQL Server
select distinct lsf.CLIENTNUMBER
,nph.ENDDATE
,nph.STARTDATE
from legalstatusform lsf
left join PLACEMENTHISTORY nph on nph.CLIENTNUMBER = lsf.clientnumber
and (nph.STARTDATE = (select min(startdate) from PLACEMENTHISTORY x
where x.CLIENTNUMBER = nph.CLIENTNUMBER))
where nph.ENDDATE >= '2017-05-01'
and nph.ENDDATE <= '2017-05-31'
and nph.CLIENTNUMBER = '2001'
group by lsf.CLIENTNUMBER, lsf.ENDDATE, nph.STARTDATE, nph.ENDDATE
Diese Logik gibt mir keine Ergebnisse aller
Wenn ich die min (startdate) Logik Kommentar aus, bekomme ich 3 Zeilen von Daten für diesen Client. mit den Startdaten vom 31.01.2017, 11.04.2017 und 10.05.2017. Also, mit der min (Startdatum) Logik, warum bekomme ich NICHT nur Zeile 1 mit dem 31.01.2017 Startdatum?
Es kein Ergebnis zurückgeben kann, weil 'MIN' Unterabfrage für diesen Benutzer ein anderes Datum zurückkehrt (nicht einen dieser drei) ... – SatanDmytro
Recht , Duh. Ich habe falsch gesprochen. Ich sollte das Datum 5.10.2017 bekommen, aber keine Ergebnisse, oder? –