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

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

Надо сформировать запрос (Select). Мыслб крутится, но не могу ухвтить - помогите пожалуйста. Очень пожалуйста. [MSSQL 6.5]


Nest ©   (2002-02-12 11:26:00) 

Сортировка/фильтрация.Что-то вроде DISTINCT, но по нескольким полям.Попытаюсь объяснить на примере:
Есть таблица (упрошённо):

ID| P1 P2 P3 P4
---------------
0 | A B C D
1 | k l m n
2 | 9 8 7 6
3 | A B C D
4 | 3 1 e e

Нужен такой селект, чтоб выбрались записи
0 | A B C D
1 | k l m n
2 | 9 8 7 6
4 | 3 1 e e

(Исключилась 3я строка, т.к. она кроме ID дублирует 0ю)
Вобщем надо чтоб выбрались все записи, но ID не видно Юзеру, поэтому и не только надо чтоб не дублировались записи по остальным полям кроме id.


Nest   (2002-02-12 12:57:00) [1]

Romkin ©
Спасибо.
Вопрос снят.


Romkin   (2002-02-12 12:51:00) [2]

Это не таблица, пишется к примеру
Client as C1, Project as Prj, и тд, а к полям обращаешься C1.ID
as обычно опускают
Так что вместо TAble ставь имя своей таблицы


Nest   (2002-02-12 12:42:00) [3]

Romkin ©
А что за таблица T2?


Romkin   (2002-02-12 11:55:00) [4]

Ой, ошибочка
select t1.ID, t1.p1, t1.p2, t1.p3, t1.p4
from table t1
where not exists
(select * from table t2
where t1.ID > t2.ID and t1.p1 = t2.p1 and t1.p2 = t2.p2
and t1.p3 = t2.p3 and t1.p4 = t2.p4)


Romkin   (2002-02-12 11:53:00) [5]

select t1.ID, t1.p1, t1.p2, t1.p3, t1.p4
from table t1
where not exists
(select * from table t2
where t1.ID <> t2.ID and t1.p1 = t2.p1 and t1.p2 = t2.p2
and t1.p3 = t2.p3 and t1.p4 = t2.p4)


Nest   (2002-02-12 11:40:00) [6]

Можно это дело несколькими запросамивыполнить, используя временные таблицы типа ##TMP_TBL.


Наверх

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