2013-12-17 2 views
1

У меня есть таблица вроде этого:Oracle выбрать дважды в одной и той же таблицы без дублей

Table table: column A, column B 
       1  A 
       2  B 
       3  C 

И я хочу, чтобы выполнить отборное как:

SELECT t.A, t2.A FROM table t, table t2 WHERE... 

Это выбор возвращается:

t.A  t2.A 
-------------------- 
    1  2 
    2  1 

Но я хочу всего

t.A  t2.A 
-------------------- 
    1  2 

Что я могу сделать?

Thx.

+2

'ГДЕ ...', вероятно, должно быть более конкретным. –

+0

В части запроса, который вы пишете, может быть реализовано декартово произведение. Пожалуйста, используйте JOIN явное обозначение и полностью опубликуйте свой запрос. –

+1

Добавьте 'и t.A

ответ

4

Если ваш где условие

SELECT t.A, t2.A FROM table t, table t2 
WHERE t.A < t2.A AND <OLD_CONDITION> 

Вы получите каждый результат только один раз.

+0

Это приведет к удалению всех строк, где они равны, что может быть или не быть тем, что предназначено. –

+0

Извините, выбор выглядит примерно так: 'SELECT t.A, t2.A FROM table t, table t2 WHERE (t.B LIKE t2.B) И t.A <> t2.A' – JuanRonline

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