Повторяющиеся записи

Работа VB и СУБД (Access, MSSQL, MySQL, Oracle и пр.)
Правила форума
При создании новой темы не забывайте указывать используемую СУБД.
sergey-911
Постоялец
Постоялец
 
Сообщения: 545
Зарегистрирован: 17.01.2005 (Пн) 19:10

Повторяющиеся записи

Сообщение sergey-911 » 15.01.2006 (Вс) 16:06

Доброго времени суток уважаемые.
Необходимо выполнить выборку. С первым этапом справился. Создал запрос, который возвращает около тысячи строк (4-е столбца, назовем столбец1 ... столбец4). Теперь из этой тысячи записей, необходимо выбрать только те записи, у которых повторяются "столбец1" и "столбец2", т.е в столбце1 должно быть 2-е и более одинаковых записей. Более того, в столбце2, тоже должно быть 2-е и более одинаковых записей. Так вот запись должна выводится только в том случае, если эти 2-е и более записей столбца1 содержат в столбце2 2-е и более одинаковых записей. Например, в столбце1 2-е записи "строка1_столбец1", а в столбце2 2-е записи "строка1_столбец2", в этом случае, в столбце1 строки1 должна быть выведена "строка1_столбец1", а в столбце2 строки1 "строка1_столбец2". Вторые сутки пытаюсь справиться самостоятельно - безрезультатно... С курсором - тоже пробовал... Не вышло... Простите за не совсем четко сформированный вопрос.
---
С уважением
Сергей Майоров.
С уважением, Сергей.

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 15.01.2006 (Вс) 17:22

Не то чтобы не совсем чётко, а в общем ничё не понятно вообще...
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

Sebas
Неуловимый Джо
Неуловимый Джо
Аватара пользователя
 
Сообщения: 3626
Зарегистрирован: 12.02.2002 (Вт) 17:25
Откуда: столько наглости такие вопросы задавать

Сообщение Sebas » 16.01.2006 (Пн) 0:50

чтонить типа того...нефакт...

select *
from t
where c1 in (select c1,с2,count(*) as c1x from t1 groupby c1,c2 having c1x>1)
and
c2 in (select c1,с2,count(*) as c1x from t1 groupby c1,c2 having c1x>1)
- Я никогда не понимал, почему они приходят ко мне чтобы умирать?

sebas<-@->mail.ru

Ennor
Конструктивный критик
Конструктивный критик
 
Сообщения: 2504
Зарегистрирован: 18.12.2001 (Вт) 3:58
Откуда: Калуга -> Москва

Сообщение Ennor » 16.01.2006 (Пн) 12:40

Скорее так:
Код: Выделить всё
select T.c1, T.c2, T.c3, T.c4
from Tbl T
  inner join (
    select c1, c2
    from Tbl
    group by c1, c2
    having count(c1) > 1
      and count(c2) > 1
    ) SQ on SQ.c1 = T.c1
    and SQ.c2 = T.c2


ЗЫ Странно, почему-то я тоже не уверен в правильности...


Вернуться в Базы данных

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2

    TopList