![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Отбор записей из таблицы с разным значением определенного [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
если я правильно понял