D
dronster
Есть таблица. Нужно выбрать те записи, где поле "field1" повторяется более чем 1 раз. Как реализовать? Подскажите ПЛЗ.
Познакомьтесь с пентестом веб-приложений на практике в нашем новом бесплатном курсе
SELECT * FROM (SELECT Filed1, COUNT(*) AS MyCount FROM YourTable GROUP BY Field1) A WHERE
A.MyCount > 1
SELECT Filed1, COUNT(*) AS MyCount FROM YourTable GROUP BY Field1 Having MyCount > 1
Хммм.. а как в записи могут иметь различное количество полей? В реляционной БД + к этому как может быть нескоьлко полей с одинаковым именем?
ВОт если Вы говорите об одинаковых значения в поле Filed1 то
Код:SELECT * FROM (SELECT Filed1, COUNT(*) AS MyCount FROM YourTable GROUP BY Field1) A WHERE A.MyCount > 1
SELECT * FROM (SELECT cod, COUNT(*) AS MyCount FROM zone GROUP BY cod) A WHERE
A.MyCount > 1
Значит БД не поддерживает вложенные запросы
Значит не судьба .. я проверил .. не работает ... Having кстати тоже не работает ...
А другого варианта я как-то и не могу так сходу представить...
Ну тут просто .. получили курсор после выборки с Group BY И дальше уже руками его фиьтранули на предмет поля со значением больше 1 ...
SELECT Field1, COUNT(*) AS MyCount FROM MyTable Group By Field1
Filter := 'MyCount > 1';
Filtered := True;
Давайте по шагам ..
Делаете запрос:
Код:SELECT Field1, COUNT(*) AS MyCount FROM MyTable Group By Field1
Потом в получившемся курсоре фильтруете его уже в TQuery:
Код:Filter := 'MyCount > 1'; Filtered := True;
И по идее будет Вам счастье .. если я ещё не запамятовал как с БД работать на Дельфи
Обучение наступательной кибербезопасности в игровой форме. Начать игру!