Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

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


Страницы:   1 2

rebroff ©   (2008-03-12 13:54:00) 

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


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

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


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


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


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

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


Johnmen   (2008-03-12 15:03:00) [3]


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

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


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

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


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

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


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

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:48:00) [7]


> rebroff   (12.03.08 14:43) [15]


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


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

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


sniknik   (2008-03-12 14:45:00) [9]

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


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

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

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


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

И СУБД какая ?


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


> не 0.
>


А что видишь ?

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


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

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


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

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

and count(a.tin)=1

то тоже 0 ?


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


select a.tin,a.c_sti_main, a.adr_ns,b.d_reg_sti,count(a.adr_ns),count(a.tin)
fromr21paddr a,r21taxpay b
wherea.tin=b.tin
group by  a.adr_ns,a.tin,a.c_sti_main,b.d_reg_sti
havingcount(a.adr_ns)>1 and count(a.tin)=1

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


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

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:22:00) [17]


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:18:00) [18]

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


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

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

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


rebroff   (2008-03-12 14:12:00) [20]

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


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо