Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 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.009 c
3-22919
Delphinium
2003-04-19 08:10
2003.05.08
Инкрементное поле в Access


3-22920
Sokol
2003-04-16 23:56
2003.05.08
Подключение...


3-22918
iusupp
2003-04-14 23:20
2003.05.08
Как редактировать поля таблицы в IB...?


3-22921
IgorP
2003-04-19 11:23
2003.05.08
Кто работает с MSSQL через dbexpress отзовитесь


3-22922
adogg
2003-04-19 16:38
2003.05.08
Работа с DAODataSet





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский