2009-08-14 23 views
1

Ich habe eine Tabelle mit den folgenden Feldern in Oracle 10g.Doppelte Einträge in einer Tabelle finden

TABELLE_1

account_no | tracking_id | trans_amount

Jede account_no kann mehrere Tracking-IDs und Transaktionsbeträge haben.

Wie Abfrage ich die doppelten Einträge von account_no wo Tracking zwischen 1 und 1000, und die entsprechende trans_amount?

Vielen Dank im Voraus für Ihre Hilfe,

Anfänger.

+0

Können Sie Ihre Erwartungen mit der Eingabe und Ausgabe von Proben verdeutlichen? –

+0

Danke Matt. Ich habe die Lösung gefunden. Aber ich werde beim nächsten Mal einige Beispieldaten posten :) – novice

+0

Was war die Lösung? –

Antwort

5

Versuchen Sie die folgende Abfrage:

SELECT account_no, tracking_id, trans_amount 
FROM TABLE_1 
WHERE 
account_no IN 
    (
    SELECT account_no FROM TABLE_1 
    WHERE tracking_id >= 1 AND tracking_id <= 1000 
    GROUP BY account_do 
    HAVING COUNT(*) > 1 
    ) 

Erklärung der Unterabfrage: es findet alle account_no ‚s, für die es mehr als 1, so dass seine tracking_id zwischen 1 und 1000.

I Ich hoffe, das ist es, was du meintest.

Verwandte Themen