2009-08-14 6 views
1

У меня есть таблица со следующими полями в Oracle 10g.Поиск повторяющихся записей в таблице

TABLE_1

account_no | tracking_id | trans_amount

Каждая account_no может иметь несколько идентификаторов отслеживания и транзакций.

Как запросить дубликаты записей account_no, где отслеживание находится между 1 и 1000, и соответствующее значение trans_amount?

Заранее большое спасибо за вашу помощь,

новичок.

+0

Можете ли вы уточнить свои ожидания с помощью ввода и вывода образцов? –

+0

Спасибо Мэтт. Я нашел решение. Но я отправлю некоторые данные образца в следующий раз, когда я спрошу :) – novice

+0

Каково было решение? –

ответ

5

Попробуйте следующий запрос:

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 
    ) 

Объяснение подзапроса: он находит все account_no «S, для которых есть более чем 1 таким образом, что его tracking_id находится между 1 и 1000.

I надеюсь, это то, что вы имели в виду.

Смежные вопросы