|
0 / 0 / 0
Регистрация: 14.05.2009
Сообщений: 9
|
|
Сравнение строк по определенным столбцам14.05.2009, 17:07. Показов 6148. Ответов 19
Метки нет (Все метки)
Здравствуйте, задачка тут у меня возникла..к сожалению забыл институтский курс помню там было и макросы писали..умом чувствую что не сложно, а как не могу сделать..
ну суть в том.. имеется таблица простая..в ней несколько столбцов со значениеми и много строк. Условие такое: нужно найти одинаковые строки, вернее строки должны совпадать по значению по 4-5 столбцам. блин как то выразился не так. короче если у сравниваемых строк таблицы совпадают значения в столбцах например 1 ,4,5,8,9,11 то считаем что эти строки одинаковые (даже если в других столбах они не совпадают) и их нужно либо выделить цветом либо что то еще сделать.. в таблице могут быть несколько разных групп строк, которые совпадут. Далее человек смотрит на совпавшие строки в группе и удаляет их кроме одной . Далее смотрит в другую группу совпавших строк и там тоже удаляет строки кроме одной . Потом оставшиеся данные после анализа передать в эксель (можно ли это с делать через кнопку , ане через файл импорт итд.) Как это можно реализовать? спасибо. С меня причитается если что ![]() блин сорри базы как таковой счас под рукой нет.. но смысл такой на предприятии испытывают образцы: пишут в столбцах марку , плавку, номер образца, время, свойства. потом испытывают образцы и записывают результат. если образец при испытании поломался то берут снова образец и снова его испытывают итд пока образец не выдержит испытание (снова испытать могут и завтра и послезавтра в любое время) типа марка плавка номер время свойства результат 12b 1234 5 12.11 про 67 23 И 1234 6 12.12 пар 87 12b 1357 4 12.11 ghj 87 12b 1234 6 13.11 про 67 12b 1357 4 15.11 пар 87 тут надо выбрать образцы по совпадению марки плавки номера свойства и резульат (время пофиг ) как видим это 1 и 4 строка... и 3 и 5 строка.. могло и больше быть совпадений потом надо вручную удалить из этих групп образцы и оствить один образец в каждой из групп совпавшей в итоге должна быть таблица 12b 1234 5 12.11 про 67 23 И 1234 6 12.12 пар 87 12b 1357 4 12.11 ghj 87 ее в ексель перекидываем потом то есть мы удалили из таблицы 4 и 5 строку так более менее понятно? Просто строк больше будет под 100 или более вручную сложно искать совпадение. спасибо.
0
|
|
| 14.05.2009, 17:07 | |
|
Ответы с готовыми решениями:
19
Можно ли упорядочить в Listbox - е по определенным столбцам Сравнение двух StringGrid-ов по определенным столбцам Поисковик по определённым столбцам таблицы |
|
19318 / 2625 / 84
Регистрация: 17.02.2009
Сообщений: 30,364
|
||||||||||||||
| 14.05.2009, 19:58 | ||||||||||||||
|
1. Для
2. про Добавлено через 4 минуты 3 секунды 3. про ЕХсель и кнопку
из письма
и запрос в ехсель отправить
1
|
||||||||||||||
|
0 / 0 / 0
Регистрация: 14.05.2009
Сообщений: 9
|
|
| 14.05.2009, 20:06 [ТС] | |
|
ну а как вы представляете группировать? если я должен в таблице найти все совпадающие между собой образцы и из них выбрать только один из каждой групп совпавших, а остальные не прошедшие мой контроль убрать из таблицы.
а если есть образцы которые не совпадают ни с кем то их не надо трогать, а оставить в таблице . сорри мож я не понимаю .....к сожалению только вот через 15 лет почти пришлось заново этим заняться.
0
|
|
|
19318 / 2625 / 84
Регистрация: 17.02.2009
Сообщений: 30,364
|
|
| 14.05.2009, 20:09 | |
|
а зачем удалять вообще?
Добавлено через 1 минуту 30 секунд а, в ехсель не таблицу кидать, а запрос (с группировкой).
1
|
|
|
0 / 0 / 0
Регистрация: 14.05.2009
Сообщений: 9
|
|
| 15.05.2009, 10:52 [ТС] | |
|
Здавствуйте, я извиняюсь..уточнение..такое.
оказывается надо чтобы все строки в таблице полностью совпадали и отображалось потом в таблице только одна строчка из каждой из групп совпавших. (то есть если в таблице есть 3 строчки полностью одинаковые между собой, то в таблице отображать только одну строку из трех) То есть в ИТОГЕ в таблице будут строчки котрорые не совпали ни с кем и строчки которые совпали с друг другом, но по одной строке от каждой групп совпавших. Это нааверно проще?
0
|
|
|
19318 / 2625 / 84
Регистрация: 17.02.2009
Сообщений: 30,364
|
||
| 15.05.2009, 11:12 | ||
|
потом старую почистить (DELETE * FROM) и из новой вставить в старую. но я предполагаю, что старую лучше хранить как архив. а, новую вообще не делать ), только запрос про полностью одинаковые строки: в Аксе (наскоко я помню) есть визард для создания запроса поиска совпадений.
0
|
||
|
0 / 0 / 0
Регистрация: 14.05.2009
Сообщений: 9
|
||||||
| 15.05.2009, 12:10 [ТС] | ||||||
0
|
||||||
|
19318 / 2625 / 84
Регистрация: 17.02.2009
Сообщений: 30,364
|
|
| 15.05.2009, 12:23 | |
|
не совсем так: если это все поля таблицы, то будут выведены все строки без совпадений. Если же нужно сравнение только по отдельным полям, то этот запрос не поможет
0
|
|
|
0 / 0 / 0
Регистрация: 14.05.2009
Сообщений: 9
|
|
| 15.05.2009, 13:50 [ТС] | |
|
оказывается совпадение нужно по всем полям, кроме первого (код).
то есть нужно если в таблице есть дубли строк то не показывать дубли-показывать одну строку из дублей. и показать в таблице все строки, которые были без дублей изначально и строки, которые остались после удаления дублей. я вам счас базу вышлю ок?
0
|
|
|
19318 / 2625 / 84
Регистрация: 17.02.2009
Сообщений: 30,364
|
|
| 15.05.2009, 14:04 | |
|
Не по теме: у Вас какой акцесс? у мну 2000 Добавлено через 6 минут 48 секунд Базу я Вашу открыл... у вас поля слишком хитро названы: 1. все слеши, решетки и проценти лучше убрать. 2. все русские слова замените на английские 3. как можно короче имя поля пишите (Лучше все эти длинные названия засунуть в параметр Подпись поля)
0
|
|
|
0 / 0 / 0
Регистрация: 14.05.2009
Сообщений: 9
|
|
| 15.05.2009, 14:05 [ТС] | |
|
[QUOTE=Бурундук;162277]
Не по теме: у Вас какой акцесс? у мну 2000 у меня 2003 к сожалению менять не можем..данные в таблицу приходят от другой программы в таком виде
0
|
|
|
19318 / 2625 / 84
Регистрация: 17.02.2009
Сообщений: 30,364
|
||||||
| 15.05.2009, 14:22 | ||||||
|
я тут подумал надо сделать еще одну таблицу с аналогичной структурой и написать следующий запрос
0
|
||||||
|
0 / 0 / 0
Регистрация: 14.05.2009
Сообщений: 9
|
||||||
| 15.05.2009, 14:29 [ТС] | ||||||
|
счас попробую .....
вот предложили такой вариант..он работает вроде..
0
|
||||||
|
19318 / 2625 / 84
Регистрация: 17.02.2009
Сообщений: 30,364
|
|
| 15.05.2009, 14:32 | |
|
это тоже будет работать, причем оставлять самую раннюю запись
0
|
|
|
0 / 0 / 0
Регистрация: 14.05.2009
Сообщений: 9
|
|
| 15.05.2009, 15:00 [ТС] | |
|
что то ваш вариант ругается на толщину
Добавлено через 20 минут 12 секунд ну наверно из-за русского языка и слеша... кстати еще вопрос как еще кнопку на запуск запроса сделать.. на экспорт в эксель сделал как вы сказали все работает, спасибо.
0
|
|
|
19318 / 2625 / 84
Регистрация: 17.02.2009
Сообщений: 30,364
|
||||||
| 15.05.2009, 15:15 | ||||||
0
|
||||||
|
11 / 11 / 0
Регистрация: 09.04.2009
Сообщений: 65
|
|||||||
| 15.05.2009, 16:02 | |||||||
|
ну или, что почти тоже самое, используйте distinct:
0
|
|||||||
|
19318 / 2625 / 84
Регистрация: 17.02.2009
Сообщений: 30,364
|
||
| 15.05.2009, 16:06 | ||
|
но, группировка вычисляется дольше
0
|
||
| 15.05.2009, 16:27 [ТС] | |
|
Не по теме: Бурундук, спасибо. делаю кнопки. прикольно получается.
0
|
|
|
11 / 11 / 0
Регистрация: 09.04.2009
Сообщений: 65
|
||
| 15.05.2009, 18:01 | ||
![]() да ладно, это полностью одно и тоже в этом запросе, так как здесь нет агрегирующих функций. а что такое group by - я знаю! и в том запросе, оно совсем не к месту использовалось.
1
|
||
| 15.05.2009, 18:01 | |
|
Помогаю со студенческими работами здесь
20
Нахождение одинаковых значений по определенным столбцам на разных листах и копирование их на новый лист Подсчет количества одинаковых значений по определенным столбцам (в пределах одной конкретной строки) и вывод в поле Сравнение коллекций по столбцам Сравнение таблиц по столбцам
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так:
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347
Основана на STM32F303RBT6.
На борту пять. . .
|
Символьное дифференцирование
igorrr37 13.02.2026
/ *
Программа принимает математическое выражение в виде строки и выдаёт его производную в виде строки и вычисляет
значение производной при заданном х
Логарифм записывается как: (x-2)log(x^2+2) -. . .
|
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
|
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу,
и светлой Луне.
В мире
покоя нет
и люди
не могут жить в тишине.
А жить им немного лет.
|
|
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила»
«Время-Деньги»
«Деньги -Пуля»
|
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога
Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога
Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
|