Форум: "Базы";
Текущий архив: 2003.05.08;
Скачать: [xml.tar.bz2];
ВнизОтбор записей из таблицы с разным значением определенного Найти похожие ветки
← →
galexis (2003-04-17 18:15) [0]Есть таблица, в которой записи одого и тго же предприятия отличаются по его номеру. Можно ли написать такой запрос, который выбирал бы из записей таблицы только по одной записи с одинаковым значением поля? Что бы не было потом в DBGrid строк с одним и тем же наименованием. Т.е. SELECT DISTINCT отбирает только разные записи, а чем бы отобрать записи только с разным значением поля.
← →
neXt (2003-04-17 18:36) [1]group by
если я правильно понял
← →
Zacho (2003-04-17 23:25) [2]Ничего не понял.. По какой одной ? Сформулируй вопрос корректнее.
← →
galexis (2003-04-18 09:32) [3]>Zacho ©
Есть у меня записи в таблице с полями NUM, NAME и другими.
Значения в этих двух полях могут повторятся, т.е могут быть записи 123 NAME1, 124 NAME2, 123 NAME1, 123 NAME1. Другие поля у этих записей отличаются. Мне нужно выбрать список из этой таблицы, т.е. только две записи NAME1 и NAME2. А сейчас после SELECT получаю повторяющиеся наименования, т.е. NAME1, NAME2, NAME1, NAME1.
← →
ЮЮ (2003-04-18 09:40) [4]Почитай, хотя бы, LocalSQL.hlp, пожалуйста.
SELECT DISTINCT Name FROM Table
← →
Johnmen (2003-04-18 09:42) [5]
SELECT DISTINCT FieldName FROM TableName :
NAME1
NAME2
← →
Sergey13 (2003-04-18 11:10) [6]2galexis © (18.04.03 09:32)
>Есть у меня записи в таблице с полями NUM, NAME и другими.
>Значения в этих двух полях могут повторятся,
ИМХО, что то тут с нормализацией не все впорядке.
← →
Жук (2003-04-18 11:14) [7]
> Sergey13 © (18.04.03 11:10)
Почему ? Вполне нормальная ситуация. Пример :
Список работников : id,fam,imja,otchestwo. Вполне возможно, что там может оказаться два разных Анатолиев Подгородецких. :-)
← →
Sergey13 (2003-04-18 11:17) [8]2Жук © (18.04.03 11:14)
>Вполне возможно, что там может оказаться два разных Анатолиев Подгородецких. :-)
Если с одинаковым ID - НЕТ. 8-(
← →
galexis (2003-04-18 11:51) [9]>ЮЮ ©
>Johnmen ©
SELECT DISTINCT позволяет отобрать из повторяющихся полностью аналогичных записей одну. Т.е. если все поля одной записи совпадают со всеми полями другой. У меня же все записи разные. В таблице не два поля, а около 20 и лишь два из них могут иметь одно и тоже значение, но в целом записи отличаются друг от друга. Так что DISTINCT тут не подходит.
← →
Johnmen (2003-04-18 12:02) [10]>galexis © (18.04.03 11:51)
>Т.е. если все поля одной записи совпадают со всеми полями другой
Нет. См. синтаксис SELECT DISTINCT.
← →
galexis (2003-04-18 12:21) [11]>Johnmen ©
Действительно. Свою ошибку понял. Нельзя писать так: SELECT DISTINCT A.*, B.NUM,B.NAME from ...
Надо обязательно указывать наименование полей (нельзя *) иначе смысл DISTINCT теряется
← →
Жук (2003-04-18 13:09) [12]Аминь.
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2003.05.08;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.008 c