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.
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
Du musst angemeldet sein, um einen Kommentar abzugeben.
Die Menge der relevanten ersten job-Angebote.
Uns auf, dass sich die Nutzer. Ich denke, dass user-Daten in einer user-Tabelle.
InformationsquelleAutor Mike Sherrill 'Cat Recall'
Wenn ich an meine SQL-Datum Zeug richtig, wäre es nicht in etwa so Aussehen:
EDIT: ich habe deine Frage missverstanden. Die oben Aussehen würde, für alle Benutzer mit einem job zwischen (aber nicht auf) der zwei Terminen aufgeführt. Oleh Nechytailo hat eine bessere Antwort.
NÖ, er will nur prüfen ERSTE job-Angebot Datum übereinstimmen, das Intervall
Ah, jetzt verstehe ich. Mein code würde zurückkehren, nur Benutzer 3 (weil ich < und > die anderen auszuschließen), aber es ist nicht eine Allgemeine Lösung. Die Aktualisierung.
InformationsquelleAutor J David Smith
wird es auf jeden Fall funktionieren
InformationsquelleAutor Hiren Dhaduk
Sie können hinzufügen, "min(job_offer_data)" in der Spalte Liste. Wenn job_id der erste job-Angebot ist ebenso erforderlich, dann Oleh Nechytailo die Abfrage, was Sie brauchen.
Was mache ich, wenn ich wie 35 Spalten?
Fügen Sie Sie einfach nach "job_offer_date" Spalte Oleh Lösung. Oder meinst du Spalten aus einer anderen Tabelle?
Ich meine, viele Spalten aus mehreren Tabellen, wenn möglich. 🙂
InformationsquelleAutor Alexey
InformationsquelleAutor Oleh Nechytailo