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

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

Отбор записей из таблицы с разным значением определенного [D6, IB6.x, FireBirf]


galexis ©   (2003-04-17 18:15:00) 

Есть таблица, в которой записи одого и тго же предприятия отличаются по его номеру. Можно ли написать такой запрос, который выбирал бы из записей таблицы только по одной записи с одинаковым значением поля? Что бы не было потом в DBGrid строк с одним и тем же наименованием. Т.е. SELECT DISTINCT отбирает только разные записи, а чем бы отобрать записи только с разным значением поля.


Жук   (2003-04-18 13:09:00) [1]

Аминь.


galexis   (2003-04-18 12:21:00) [2]

>Johnmen ©

Действительно. Свою ошибку понял. Нельзя писать так: SELECT DISTINCT A.*, B.NUM,B.NAME from ...
Надо обязательно указывать наименование полей (нельзя *) иначе смысл DISTINCT теряется


Johnmen   (2003-04-18 12:02:00) [3]

>galexis © (18.04.03 11:51)
>Т.е. если все поля одной записи совпадают со всеми полями другой

Нет. См. синтаксис SELECT DISTINCT.


galexis   (2003-04-18 11:51:00) [4]

>ЮЮ ©
>Johnmen ©

SELECT DISTINCT позволяет отобрать из повторяющихся полностью аналогичных записей одну. Т.е. если все поля одной записи совпадают со всеми полями другой. У меня же все записи разные. В таблице не два поля, а около 20 и лишь два из них могут иметь одно и тоже значение, но в целом записи отличаются друг от друга. Так что DISTINCT тут не подходит.


Sergey13   (2003-04-18 11:17:00) [5]

2Жук © (18.04.03 11:14)
>Вполне возможно, что там может оказаться два разных Анатолиев Подгородецких. :-)
Если с одинаковым ID - НЕТ. 8-(


Жук   (2003-04-18 11:14:00) [6]


> Sergey13 © (18.04.03 11:10)

Почему ? Вполне нормальная ситуация. Пример :
Список работников : id,fam,imja,otchestwo. Вполне возможно, что там может оказаться два разных Анатолиев Подгородецких. :-)


Sergey13   (2003-04-18 11:10:00) [7]

2galexis © (18.04.03 09:32)
>Есть у меня записи в таблице с полями NUM, NAME и другими.
>Значения в этих двух полях могут повторятся,
ИМХО, что то тут с нормализацией не все впорядке.


Johnmen   (2003-04-18 09:42:00) [8]

SELECT DISTINCT FieldName FROM TableName :
NAME1
NAME2


ЮЮ   (2003-04-18 09:40:00) [9]

Почитай, хотя бы, LocalSQL.hlp, пожалуйста.
SELECT DISTINCT Name FROM Table


galexis   (2003-04-18 09:32:00) [10]

>Zacho ©

Есть у меня записи в таблице с полями NUM, NAME и другими.
Значения в этих двух полях могут повторятся, т.е могут быть записи 123 NAME1, 124 NAME2, 123 NAME1, 123 NAME1. Другие поля у этих записей отличаются. Мне нужно выбрать список из этой таблицы, т.е. только две записи NAME1 и NAME2. А сейчас после SELECT получаю повторяющиеся наименования, т.е. NAME1, NAME2, NAME1, NAME1.


Zacho   (2003-04-17 23:25:00) [11]

Ничего не понял.. По какой одной ? Сформулируй вопрос корректнее.


neXt   (2003-04-17 18:36:00) [12]

group by
если я правильно понял


Наверх

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