Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2008.09.07;
Скачать: CL | DM;

Вниз

Повторяющиеся значения поля   Найти похожие ветки 

 
rebroff   (2008-03-12 13:54) [0]

Нужно выбрать строки таблицы А, в которых совпадают значения поля F2,но разные значения поля F1.
Пример:
F1 | F2
-----------
100 | 200
112 | 200


 
Сергей М. ©   (2008-03-12 14:00) [1]

select F1, F2, count(F2)
from A
order by F2
group by F2
having count(F2) > 1


 
Sergey13 ©   (2008-03-12 14:02) [2]

select f2,count(*)
from table
group by f2
having count(*)>1


 
rebroff   (2008-03-12 14:05) [3]

а как быть с записями, у которых равны и f1 и f2? Их выбирать не нужно.


 
Сергей М. ©   (2008-03-12 14:10) [4]

select ..from .. where F1<>F2 .. и т.д.


 
rebroff   (2008-03-12 14:12) [5]

Не значения полей между собой, а значения полей в разных записях.
f1 в одной записи равно f1 - в другой. Такие строки не выбираются.


 
rebroff   (2008-03-12 14:15) [6]

Т.е. значения f2 в разных записях равны, а значения f1 - нет.
Например:
111   Вася
222   Вася
------------
Такие выбираем

А такие-нет:
444   Петя
444   Петя


 
Сергей М. ©   (2008-03-12 14:18) [7]

см. по аналогии с [1]
по полю F1 добавляешь сч-к, группировку и доп.условие отбора по сч-ку в HAVING-выражении


 
rebroff   (2008-03-12 14:22) [8]


select

a.tin,a.c_sti_main, a.adr_ns, b.d_reg_sti, count(a.adr_ns), count(a.tin)

from r21paddr a, r21taxpay b

where a.tin=b.tin

group by  a.tin,a.adr_ns,a.c_sti_main,b.d_reg_sti

having count(a.adr_ns)>1 and count(a.tin)=1


Вернул 0 строк :((


 
Сергей М. ©   (2008-03-12 14:27) [9]

select F1, F2, count(F2), count(F1)
from A
group by F2, F1
having count(F2)>1 and count(F1)=1


 
rebroff   (2008-03-12 14:31) [10]


select a.tin,a.c_sti_main, a.adr_ns,b.d_reg_sti,count(a.adr_ns),count(a.tin)
from r21paddr a,r21taxpay b
where a.tin=b.tin
group by  a.adr_ns,a.tin,a.c_sti_main,b.d_reg_sti
having count(a.adr_ns)>1 and count(a.tin)=1

та же петрушка...
0 строк


 
Сергей М. ©   (2008-03-12 14:34) [11]

А если из версии [10] убрать

and count(a.tin)=1

то тоже 0 ?


 
rebroff   (2008-03-12 14:36) [12]

Это в смысле "а был ли мальчик?":)
Нет, не 0.


 
Сергей М. ©   (2008-03-12 14:37) [13]


> не 0.
>


А что видишь ?

Приведи фрагмент реального набора и выдели строки, которые не должны были в него попасть


 
Сергей М. ©   (2008-03-12 14:38) [14]

И СУБД какая ?


 
rebroff   (2008-03-12 14:43) [15]

TIN                  ADR_NS                            D_REG_CSTI
-----------------------------------------------------------------
25810001          ул. Кирова.......                 28.01.2002
25810001          ул. Кирова......                  01.05.2004

Эти строки не должны были попасть в выборку, т.к. TIN одинаковый.


 
sniknik ©   (2008-03-12 14:45) [16]

> в которых совпадают значения поля F2,но разные значения поля F1.
> Пример:
> F1 | F2
> -----------
> 100 | 200
> 112 | 200
SELECT DISTINCT F1, F2 FROM Table WHERE F2=200


 
rebroff   (2008-03-12 14:46) [17]

ORACLE 9i
Запрос набираю в Нафигаторе.


 
Сергей М. ©   (2008-03-12 14:48) [18]


> rebroff   (12.03.08 14:43) [15]


А где в этом фрагменте поля счетчиков ?


 
rebroff   (2008-03-12 14:52) [19]

TIN              ADR_NS              D_REG_CSTI    COUNT(a.adr_ns)   COUNT(a.tin)----------------------------------------------------------------------------
25810001      ул. Кирова.......   28.01.2002             48                    48
25810001      ул. Кирова......    01.05.2004             12                    12


 
Сергей М. ©   (2008-03-12 14:58) [20]

И это соответствует действительности ?


 
rebroff   (2008-03-12 15:01) [21]

Нет, на самом деле таких записей - 14.


 
Johnmen ©   (2008-03-12 15:03) [22]


> rebroff   (12.03.08 14:43) [15]
> Эти строки не должны были попасть в выборку,
>  т.к. TIN одинаковый.

По какому критерию определяется попадающая строка?


 
Сергей М. ©   (2008-03-12 15:08) [23]


> на самом деле таких записей - 14.


Каких "таких" ?

Я о сравнении рез-тов группирующего запроса с результатами "обычного" ..


 
Сергей М. ©   (2008-03-12 15:34) [24]

Какая из используемых таблиц имеет первичное ключевое поле ?



Страницы: 1 вся ветка

Текущий архив: 2008.09.07;
Скачать: CL | DM;

Наверх




Память: 0.51 MB
Время: 0.015 c
3-1205310393
KPV-10k
2008-03-12 11:26
2008.09.07
Как узнать что запись захвачена другим пользователем (Firebird)


9-1174296930
КувалдаСофт
2007-03-19 12:35
2008.09.07
Задачка с интерфейсами


2-1215946567
Вопросик
2008-07-13 14:56
2008.09.07
Как данные из DBGrid переписать в memo?


3-1205487538
Bless
2008-03-14 12:38
2008.09.07
ADO 2.8 в MSDN и Delphi 7 - две большие разницы?


15-1216204880
DVM
2008-07-16 14:41
2008.09.07
Вопрос к тем кто живет на Украине или ездил туда недавно.