SQL get record, der passt ERSTEN Tag Kriterien

Habe ich Folgendes

user_id job_id job_offer_date 
------- ------ --------------
1          123     2013-05-10 
1          124     2013-07-19
2          127     2013-05-10
3          128     2013-06-15 

Ich schreiben möchte ZWEI getrennte Fragen hier in einem Bericht verwenden:

ABFRAGE #1 (ich habe dies bereits funktioniert)

Diese Abfrage zurückgeben möchte alle Benutzer, deren ERSTES jobangebot Datum ist durch 2013-5-10. Dies ist eine einfache Abfrage, weil wenn der Benutzer hat keine Aufträge von diesem Zeitpunkt an, wird es ihn wieder. In diesem Fall werde ich sehen Benutzer #1, #2.

Diese Abfrage sieht wie folgt aus:

SELECT DISTINCT j.* FROM job WHERE j.job_offer_date <= '2013-05-10'

ABFRAGE #2 (Das ist meine eigentliche Frage)

Wie gebe ich die Benutzer, deren ERSTES jobangebot Datum ist NACH 2013-5-10 und VOR 2013-7-19. In diesem Fall, weil der Benutzer #1 hat sein Angebot durch 2013-5-10, sollte er sich NICHT in den Ergebnissen enthalten. Dieses ResultSet NUR user #3.

Der wichtigste Schlüssel hier ist, weil der Benutzer #1 hat sein Angebot durch 2013-5-10, er sollte ausgeschlossen aus dem ResultSet in der Abfrage #2.

Sie können where-Bedingung wie job_offer_date > '2013-05-10' und job_offer_date < '2013-05-10'
Das funktioniert nicht, da der Letzte Satz in meinem ursprünglichen post.
Brauchen Sie, um nur user_ids oder für jeden Benutzer müssen Sie alle Zeilen, die Tabelle hat für ihn?
Muss ich nur die user_ids eigentlich. Ich brauche zu machen sicher, ich bin giesst meine Nutzer nur einmal.

InformationsquelleAutor Adam Levitt | 2013-06-29

Schreibe einen Kommentar