Markieren Sie alle Zeilen, die von SQL basiert auf der Existenz mehrerer Zeilen (sequence numbers)
Sagen wir, ich habe die Tabelle Daten, die der folgenden ähnelt:
123456 John Doe 1 Green 2001
234567 Jane Doe 1 Yellow 2001
234567 Jane Doe 2 Red 2001
345678 Jim Doe 1 Red 2001
Was ich bin versucht zu tun, ist nur zum isolieren der Datensätze für Jane Doe basiert auf der Tatsache, dass Sie mehr als eine Zeile in dieser Tabelle. (Mehr als eine Sequenz-Nummer)
Ich kann mich nicht isolieren, basierend auf ID, Namen, Farben, Jahre, etc...
Die Nummer 1 in der Sequenz sagt mir, dass ist der erste Eintrag und ich muss in der Lage sein, um anzuzeigen, dass der Datensatz, sowie die Nummer 2 der Datensatz -- Die änderung aufzeichnen.
Wenn die Tabelle heißt users und die Felder mit dem Namen ID, fname, lname, seq_no, Farbe, Datum. Wie würde ich den code schreiben, wählen Sie nur die Datensätze, die mehr als eine Zeile in dieser Tabelle? Zum Beispiel:
Möchte ich die Abfrage um diese nur auf der Grundlage der Existenz der mehrere Zeilen:
234567 Jane Doe 1 Yellow 2001
234567 Jane Doe 2 Red 2001
In PL/SQL
InformationsquelleAutor Pezz | 2010-10-13
Du musst angemeldet sein, um einen Kommentar abzugeben.
Erste, zu finden, die IDs für Datensätze mit mehreren Zeilen, die Sie verwenden würden:
So könnte man alle Datensätze für alle jene Leute mit
Wenn Sie wissen, dass die zweite Sequenz-ID wird immer "2" und die "2" - Eintrag nie gelöscht wird, finden Sie vielleicht etwas wie:
schneller zu sein, aber Sie besser sicher, dass die Anforderungen garantiert erfüllt werden, die in Ihrer Datenbank (und Sie möchten einen zusammengesetzten index auf (SequenceID ID)).
InformationsquelleAutor Larry Lustig
Versuchen Sie etwas wie das folgende. Es ist ein einziger Suchlauf in der Tabelle, im Gegensatz zu 2, wie die anderen.
+1, jedoch - sieht aus wie die Daten der "Personen-ID" in der ersten Spalte - wenn, die Sie eindeutig einer person, die ich tun würde, die ZÄHLUNG über die ID-Spalte statt (nur für den Fall, dass es zwei Personen mit dem gleichen Namen).
heh 🙂 ja, guter Fang auf die person-ID. Ja, können Sie leicht ersetzen Sie "name" mit "person ID".
InformationsquelleAutor erbsock
INNER JOIN
JOIN:
WO:
InformationsquelleAutor kevpie
Check-out die
HAVING
- Klausel für eine Zusammenfassung der Abfrage. Sie können angeben, Sachen wieund so weiter.
InformationsquelleAutor Randy