Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2005.10.16;
Скачать: [xml.tar.bz2];

Вниз

запрос на выборку одинаковых записей   Найти похожие ветки 

 
Андрей гость   (2005-09-14 19:21) [0]

Уважаемые, как написать запрос, чтобы выбрать поля с одинаковыми записями


 
wicked ©   (2005-09-14 23:01) [1]

включаем телепатор....
предположительно из БД, предположительно, используя SQL....
если я прав, то тогда, в общем случае, так
select <field_name>, count(<field_name>)
from <table_name>
group by <field_name>
having(count(<field_name>)) > 1

выберет из таблицы <table_name> повторяющиеся поля <field_name> и укажет, сколько раз такое значение встречается....


 
Fay ©   (2005-09-15 00:20) [2]

2 Андрей гость   (14.09.05 19:21)

>> выбрать поля с одинаковыми записями
Так не бывает

З.Ы.
СУБД, видимо, Postgree SQL ? Или Informix?


 
Германн ©   (2005-09-15 01:34) [3]

Сабж, в целом, конечно недосформулирован, и посему непонятен.
Но
> Fay ©   (15.09.05 00:20) [2]
>
> 2 Андрей гость   (14.09.05 19:21)
>
> >> выбрать поля с одинаковыми записями
> Так не бывает

в целом не прав.

wicked ©   (14.09.05 23:01) [1]
дал приемлемое в некоем конкретном случае решение. На сей момент - правильное. Имхо.


 
msguns ©   (2005-09-15 12:37) [4]

Может, записи с одинаковыми полями ?


 
Anatoly Podgoretsky ©   (2005-09-15 14:07) [5]

msguns ©   (15.09.05 12:37) [4]
В записи не может быть одинаковых полей!
В вопрос не понятен, может речь про соединение?


 
Reindeer Moss Eater ©   (2005-09-15 15:17) [6]

Уважаемые, как написать запрос, чтобы выбрать поля с одинаковыми записями

select * from tablename where primarykeyfield = value;

Выберутся все поля, имеющие одинаковую запись.


 
Андрей гость   (2005-09-15 15:23) [7]

Может я неправильно сформулировал вопрос, но суть такова - в таблице есть строки в которых по четырем колонкам записи одинаковы, вот эти строки надо выбрать.
И еще один вопрос. когда выполняется запрос на выборку записей в двух таблицах и сохраняется в третью таблицу, то строки с записями которых нет в одной из таблиц просто исчезают,т.е. не переносятся в третью таблицу. Как перенести все записи одной из таблиц дополнив записями из другой таблицы. Извиняюсь за непонятность, мне вродебы все понятно.


 
Reindeer Moss Eater ©   (2005-09-15 15:25) [8]

А нам пофик правильно он сформулирован или нет
Главное что бы был правильно дан ответ.

:)


 
Anatoly Podgoretsky ©   (2005-09-15 18:32) [9]

Может тебе группировка нужна.


 
Fay ©   (2005-09-15 18:54) [10]

2 Германн ©   (15.09.05 1:34) [3]
Ты сам читаешь, что написал? Если я не прав ([2]), то где в [1] выборка полей?


 
Андрей гость   (2005-09-16 00:07) [11]

Большое спасибо, на первый вопрос ответ есть.
А как построить запрос чтобы в таблице одинаковые записи (дубликаты) убирало, оставляя одну запись из дубликатов и строило таблицу заново но только уже без дубликатов


 
msguns ©   (2005-09-16 10:26) [12]

>Anatoly Podgoretsky ©   (15.09.05 14:07) [5]
>В записи не может быть одинаковых полей!

Во-первых, сколько угодно. Если речь идет о содержимом полей, а не их названии, конечно. Но и тут есть исключения. Например MSSQL может создать временную таблицу (например, при выполнении запроса с агрегатными функциями), где очень запросто могут присутствовать одноименные колонки - поля записи.

Я  имел в виду записи, информация в которых полностью идентична. Во всех полях.

>Андрей гость   (16.09.05 00:07) [11]
>А как построить запрос чтобы в таблице одинаковые записи (дубликаты) убирало, оставляя одну запись из дубликатов и строило таблицу заново но только уже без дубликатов

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

1. Клиентский. Перед добавлением давать запрос на выборку из таблицы записей с такими же значениями полей, как у добавляемой. Если есть, то программа "ругается" и добавления не происходит

2. Серверный. С помощью первичного ключа (автоинкремента например) или использования уникальных индексов.



Страницы: 1 вся ветка

Форум: "Начинающим";
Текущий архив: 2005.10.16;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.48 MB
Время: 0.051 c
6-1119994627
wp2
2005-06-29 01:37
2005.10.16
Реципиент (RCPT) не тот?


2-1125984829
voyage_rost
2005-09-06 09:33
2005.10.16
базы данных


4-1124127936
Eagle Owl
2005-08-15 21:45
2005.10.16
Создание окна с содержимым на WinAPI


14-1127722152
__DATA__
2005-09-26 12:09
2005.10.16
Вред протеинов


5-1103272761
LAndrey
2004-12-17 11:39
2005.10.16
Создание списка в DesignTime





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский