Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
(Select - SQL) Выборка одинаковых значений
|
|||
|---|---|---|---|
|
#18+
Есть таблица Table_one, в ней повторяющиеся значения в Field_one: Field_one С(2)Field_twoField_three01Буква ААрмавир02Буква ББелебей03Буква ВВетлуга04Буква ГГорячий ключ01Буква ААпатиты02Буква ББалей Необходимо выбрать все записи, которые повторяются в столбце Field_one. Задача часто встречающаяся и решена, но путем создания двух запросов. Код: plaintext 1. 2. 3. 4. 5. 6. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.03.2005, 11:36 |
|
||
|
(Select - SQL) Выборка одинаковых значений
|
|||
|---|---|---|---|
|
#18+
Grumax_userЕсть таблица Table_one, в ней повторяющиеся значения в Field_one: Field_one С(2)Field_twoField_three01Буква ААрмавир02Буква ББелебей03Буква ВВетлуга04Буква ГГорячий ключ01Буква ААпатиты02Буква ББалей Необходимо выбрать все записи, которые повторяются в столбце Field_one. Задача часто встречающаяся и решена, но путем создания двух запросов. Код: plaintext 1. 2. 3. 4. 5. 6. Ну, например так: Код: plaintext 1. 2. 3. 4. 5. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.03.2005, 11:45 |
|
||
|
(Select - SQL) Выборка одинаковых значений
|
|||
|---|---|---|---|
|
#18+
Если содержимое записей действительно одинаковое (в смысле содержимое всех полей одинаково), то Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.03.2005, 11:47 |
|
||
|
(Select - SQL) Выборка одинаковых значений
|
|||
|---|---|---|---|
|
#18+
Sorry, немного не дочитал вопроса. В мой ответ надо дбавить еще фильтр по количеству повторений... Но смысл моего решения понятен - сделать вложенный запрос в списке условий... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.03.2005, 11:49 |
|
||
|
(Select - SQL) Выборка одинаковых значений
|
|||
|---|---|---|---|
|
#18+
2 Владимир Не пашет Содержимое записей не одинаково, есть только повторяющиеся значения в Field_one. Смотрите таблицу Table_one. 2 Станислав Станиславсделать вложенный запрос в списке условий... Видел решение во вложеном запросе с самого начала, но это собственно и есть моя проблема (с вложеными запросами всмысле ) Просто думаю, что если есть 2 запроса по одной таблице, то и 1 пройдет Результирующая таблица(курсор) Kolwo_zapField_oneField_twoField_thre201Буква ААрмавир202Буква ББелебей201Буква ААпатиты202Буква ББалей З.Ы. Поправка. Oпечатка в вопросе Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.03.2005, 12:30 |
|
||
|
(Select - SQL) Выборка одинаковых значений
|
|||
|---|---|---|---|
|
#18+
автор2 Владимир Не пашет Содержимое записей не одинаково, есть только повторяющиеся значения в Field_one. Смотрите таблицу Table_one. Что конкретно не пашет, код приведенный ВладимирМ, как раз и исправляет два Ваших первоначальных селекта. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.03.2005, 12:41 |
|
||
|
(Select - SQL) Выборка одинаковых значений
|
|||
|---|---|---|---|
|
#18+
ну вы блин даете а внимательно прочитать владимира и додумать так низя? SELECT ; COUNT(1) as Kolwo_zap, ; Field_one, ; Field_two, ; Field_three ; FROM Table_one ; INTO CURSOR cur_one NOFILTER READWRITE ; GROUP BY ; Field_one ; HAVING Kolwo_zap> 1 ; ORDER BY 1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.03.2005, 12:46 |
|
||
|
(Select - SQL) Выборка одинаковых значений
|
|||
|---|---|---|---|
|
#18+
авторну вы блин даете а внимательно прочитать владимира и додумать так низя? У Васвот здесь ошибка Код: plaintext 1. надо добавить все поля после Select ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.03.2005, 12:48 |
|
||
|
(Select - SQL) Выборка одинаковых значений
|
|||
|---|---|---|---|
|
#18+
Не, ребята, Grumax_user прав. Если при одинаковом значении поля Field_one есть записи с разным значением в других полях, то без подзапроса (или 2-х последовательных запросов) задача не решается. Сначала отбираются те значения Field_one по которым есть дубли, а потом все записи имеющие отобранные значения Field_one. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.03.2005, 12:52 |
|
||
|
(Select - SQL) Выборка одинаковых значений
|
|||
|---|---|---|---|
|
#18+
PaulWistнадо добавить все поля после Select Автор не указал версию. Для < 8 правильно. Хотя нужно конечно привыкать к правильному написанию. Только не все поля после SELECT, а те который не учавствуют агрегированных функциях. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.03.2005, 12:52 |
|
||
|
(Select - SQL) Выборка одинаковых значений
|
|||
|---|---|---|---|
|
#18+
Grumax_user Прошу пардона (поторопился) не вьехал сразу в вопрос, что-нибудь родим. AleksMedТолько не все поля после SELECT, а те который не учавствуют агрегированных функциях Код: plaintext 1. 2. 3. 4. 5. А так - поле участвует в агрегации ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.03.2005, 13:35 |
|
||
|
(Select - SQL) Выборка одинаковых значений
|
|||
|---|---|---|---|
|
#18+
PaulWistА так - поле участвует в агрегации И да и нет :) Ну ты же понял о чем я :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.03.2005, 13:40 |
|
||
|
(Select - SQL) Выборка одинаковых значений
|
|||
|---|---|---|---|
|
#18+
Grumax_user "Грязное" решение, те работает если в третьем поле значения не повторяются иначе COUNT будет не правильно отображаться, если он конечно нужен Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. AleksMed AleksMedНу ты же понял о чем я :) Взаимно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.03.2005, 13:45 |
|
||
|
(Select - SQL) Выборка одинаковых значений
|
|||
|---|---|---|---|
|
#18+
Версия VFP 8.0 ... когда была 6.0, там GROUP странно работал, пришлось переосмысливать, перейдя на 8-ку leafа внимательно прочитать владимира Читал внимательно... Всё ещё нужен подзапрос ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.03.2005, 13:45 |
|
||
|
(Select - SQL) Выборка одинаковых значений
|
|||
|---|---|---|---|
|
#18+
2 PaulWist Прекрасно...Запрос работает, в данном конкретном случае, но (на вскидку) мне не хотелось бы проводить анализ какого либо поля(повторяются ли в нём значения или нет), а если често слегка не допонял запрос...все команды понятны, но как работает...Вам в обед не наливали? *хох* Дома доразберусь... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.03.2005, 14:36 |
|
||
|
(Select - SQL) Выборка одинаковых значений
|
|||
|---|---|---|---|
|
#18+
PaulWist Отличная идея! В общем случае, решается так: Код: plaintext 1. 2. 3. 4. Идея в следующем. Связываем таблицу саму с собой по тому полю, уникальность которого контролируем. В случае, если есть несколько записей с этим значением, при таком объединении будет больше 1 записи в итоговом курсоре. GROUP BY отсекает лишние дубли (каждая запись повторится несколько раз) В списке для группировки надо перечислить ВСЕ поля. Единственный недостаток такого запроса - он "съест" записи, которые полностью дублируются. Т.е. у которых абсолютно одинаковое содержимое ВСЕХ полей. При таком запросе в результате будет только одна из таких дублирующих записей. Если бы у таблицы было уникальное поле (суррогатный ключ), то и проблемы не было бы. Отбирались бы только нужные записи. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.03.2005, 14:54 |
|
||
|
(Select - SQL) Выборка одинаковых значений
|
|||
|---|---|---|---|
|
#18+
2 Владимир Во!!! То что надо. ВладимирЕсли бы у таблицы было уникальное поле Есть такое в реальной таблице. Я вообще с некоторых пор не создаю таблиц без уникального поля(решает кучу проблем в настоящем и будущем). Сейчас пишу прогу импорта из DOS'а в рабочую базу...исплевался весь(нету там уникального поля ) Всем большое спасибо... Я во все дела суюсь -> всесторонне разовьюсь ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.03.2005, 01:12 |
|
||
|
|

start [/forum/topic.php?fid=41&msg=32948136&tid=1594704]: |
0ms |
get settings: |
9ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
42ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
50ms |
get tp. blocked users: |
2ms |
| others: | 232ms |
| total: | 366ms |

| 0 / 0 |
