Форум: "Начинающим";
Текущий архив: 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.048 c