Главная страница
    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.04 c
2-1126347106
Asprofi
2005-09-10 14:11
2005.10.16
Как перевести число в обратном порядке?


1-1127381397
_Sergey_K
2005-09-22 13:29
2005.10.16
Фильтрация таблицы


4-1124203096
SpyBoy
2005-08-16 18:38
2005.10.16
размер скачиваемого файла


1-1127802201
Mishenka
2005-09-27 10:23
2005.10.16
Как отловить событие перехода фокуса?


2-1126175995
Vasi
2005-09-08 14:39
2005.10.16
Удаление значения из массива





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