Topic: поиск Дубликатов...

Здравствуйте Дмитрий!!!
На форуме много примеров, для избежания попадания их перед  <<сохранить>>!!!
И всё же... У Вас хороший пример для ПОИСКА <<SQL запрос по всем полям используя CheckBox>>

SELECT
lastname
,firstname
,strftime('%d.%m.%Y', dateofbirth)
,phone
,id

FROM
employees

WHERE

(CASE WHEN {chbLastName}=1 THEN lastname LIKE '%{edSearch}%' ELSE 1=0 END) OR
(CASE WHEN {chbFirstName}=1 THEN firstname LIKE '%{edSearch}%' ELSE 1=0 END) OR
(CASE WHEN {chbPhone}=1 THEN phone LIKE '%{edSearch}%' ELSE 1=0 END)

Вы можете показать  скрипт или SQL запрос для просмотра в  TableGrid
дубликатов по полям используя CheckBox-ы...???
т.е. клик по CheckBox1 показывает дубликаты в первой колонки TableGrid
клик по CheckBox2 показывает дубликаты во второй колонки TableGrid
клик по CheckBox3 показывает дубликаты в третьей колонки TableGrid

Re: поиск Дубликатов...

Здравствуйте Дмитрий!!!
У Вас нету проект-примера или SQL-запроса аль скриптика на выше стояший постик???

Re: поиск Дубликатов...

Приветствую.


Что вы подразумеваете под дубликатом относительно колонки? Обычно когда говорят о дубликатах, подразумевают записи, а не колонки. И в каком виде нужно показать дубликат?

Dmitry.

4 (edited by RZ-007 2017-01-23 16:28:35)

Re: поиск Дубликатов...

DriveSoft wrote:

Приветствую.
Что вы подразумеваете под дубликатом относительно колонки? Обычно когда говорят о дубликатах, подразумевают записи, а не колонки. И в каком виде нужно показать дубликат?

Я подразумевал к примеру дубликаты в первой колнки показать используя  CheckBox...
и так по всем к примеру трёх колонках...

И в каком виде нужно показать дубликат?

Результат дубликаты в первой колонки и плюс то, что относится к ней во второй и третьей колонки...
чек для второй колонки все дубликаты, что есть во второй колонки, а так же то, что принадлежит этой
строчки в первой и третьей колонки...

Re: поиск Дубликатов...

К сожалению для такой задачи всплывают ньюансы, поэтому опишите подробней с примерами.


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

Dmitry.

6 (edited by RZ-007 2017-01-23 21:51:25)

Re: поиск Дубликатов...

DriveSoft wrote:

К сожалению для такой задачи всплывают ньюансы, поэтому опишите подробней с примерами.
Как именно их показать? По одному? Тогда что должно быть в соседних колонках?
Если не по одному, тогда достаточно просто сортировки, чтобы увидеть дубликаты.

ОК!!! интерес такой...
имеим запись в гриде например:
-------------------------------------
всем               |  сок          |   1                                                       
хорошего      |  лимон    |   2                                                                                                                                 
настроения   |  персик   |   3                                                     
именно           |  лимон    |   4                                                                             
всем                 |  груша    |   5 
----------------------------------------
Клик CheckBox1-показать дубликаты в первой колонке...
CheckBox2:=False
CheckBox3:=False    результат:
-------------------------------------
всем          |  сок            |   1                                                                                                                                   
всем          |  груша       |   5 
----------------------------------------
CheckBox1:=True  (дуболь в первой остались)
Клик CheckBox2:=True -показать дубликаты во второй колонке...
CheckBox3:=False  (да же еслибы было True, на результат бы НЕ повлиял
т.к. в третьей нет дубликата) результат:
-------------------------------------
всем                |  сок         |   1
всем               |  груша    |   5                                                     
хорошего      |  лимон    |   2                                                                                                                                                                                     
именно          |  лимон    |   4                                                                             
  ----------------------------------------
CheckBox1:=False (//не участвует в поиске дублика)
Клик CheckBox2:=True
CheckBox3:=False         результат:
-------------------------------------                                                       
хорошего      |  лимон    |   2                                                                                                                                                                                     
именно          |  лимон    |   4                                                                             
----------------------------------------
CheckBox1:=False...
CheckBox2:=False
Клик CheckBox3:=True  результат:
-------------------------------------
ВСЕ ПОЛЯ ПУСТЫЕ

Re: поиск Дубликатов...

DriveSoft wrote:

К сожалению для такой задачи всплывают ньюансы, поэтому опишите подробней с примерами.
Как именно их показать? По одному? Тогда что должно быть в соседних колонках?
Если не по одному, тогда достаточно просто сортировки, чтобы увидеть дубликаты.

Дмитрий...ессли я Вас правильно понял

Если не по одному, тогда достаточно просто сортировки, чтобы увидеть дубликаты

т.е. в фильтр грида надо, что то вставить???
тогда ВОПРОС:
что надо вставить в  фильтр грида, что бы увидеть:
В первой,во второй и третьей колонки ДУБЛИКАТЫ???

Re: поиск Дубликатов...

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


Просто что то вставить в фильтр грида и решить задачу не получиться, нужен какой то сложный SQL запрос.

Dmitry.

Re: поиск Дубликатов...

DriveSoft wrote:

Т.е. еще нужно искать дубликаты по двум столбцам? Тогда к сожалению задача не очень простая, не смогу помочь в этом.
Просто что то вставить в фильтр грида и решить задачу не получиться, нужен какой то сложный SQL запрос.

ОК!!!
тогда попробуем совсем просто...без всяких SQL-запросов:
Вопрос:
что надо вставить в фильтр TableGrid1, что бы увидеть ДУБЛИКАТЫ первой колонки???

Re: поиск Дубликатов...

Фильтр тут не поможет к сожалению, нужно формировать SQL запрос, например такой

SELECT  FirstName, Count(FirstName) as Count 
FROM TableName
GROUP BY FirstName 
HAVING Count(FirstName)>1
Dmitry.

Re: поиск Дубликатов...

Дмитрий БОЛЬШУЩЕЕ ВАМ СПАСИБОЧКИ!!!
Это уже выход из моего тупика!!!
И всё таки возможно сделать...было так:

привет
всем
привет

клик куда нибудь...итог:

привет
привет

Заранее извеняюсь за назойливость!!!

Re: поиск Дубликатов...

SELECT FirstName FROM TableName WHERE FirstName IN (SELECT FirstName FROM TableName GROUP BY FirstName  HAVING count(FirstName) > 1);
Dmitry.

Re: поиск Дубликатов...

ВАУ...."много ли человеку надо для полного счастья"...
Дмитрий СПАСИБО...СПАСИБО...СПАСИБО...!!!!!!!!!!!!!