![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как БД состоящая из DBF файлов показать дублирующиеся строки [D7, dBase, FoxPro]
DelphiLexx © (2007-03-12 11:46:00)У меня есть DBF файлы с ними я работаю через BDE и использую Sql. Скажите, пожалуйста, как мне с помощью Sql отобразить дублирующиеся записи. Каждая запись состоит из 5 полей: DOC_D, ID_D, ID_P, F_1, F_2 .
Две записи считаются одинаковыми, если DOC_D, ID_D и ID_P совпадают. F_1 и F_2 хранит нужные мне данные.
ЮЮ (2007-03-12 12:31:00) [1]Если же клюевым полем намерен пренебречь, то
SELECT DOC_D, ID_D, ID_P
FROM Table1
GROUP BY DOC_D, ID_D, ID_P
HAVING COUNT(ID_P) > 1
вернет те DOC_D, ID_D и ID_P, для котрых имеется несколько строк
ЮЮ (2007-03-12 12:22:00) [2]>Нет!
Тогда точно запрос неправмльно переписал :)
ЮЮ (2007-03-12 12:21:00) [3]Блин, точно :)
Потому как нехватает
AND t1.Id < t2.Id, где Id - ключеаое поле, которого у тебя в таблице и не хватает
DelphiLexx (2007-03-12 12:20:00) [4]
> >Вместо этого он выдает все записи
> и у этих записей поля DOC_D, ID_D, ID_P попарно равны?
>
Нет!
ЮЮ (2007-03-12 12:19:00) [5]>Твой запрос не находит дублирующиеся записи.
Мой у тебя не заработает (у тебя нет такой таблицы :), поэтому не работает TBOЙ запрос
>Вместо этого он выдает все записи
и у этих записей поля DOC_D, ID_D, ID_P попарно равны?
DelphiLexx (2007-03-12 12:12:00) [6]
> SELECT *
> FROM
> ЧтобТебеВсюЖизньСТакимиТаблмцамиРаботать t1
> JOIN ЧтобТебеВсюЖизньСТакимиТаблмцамиРаботать t2 ON
> (t1.DOC_D = t2.DOC_D) AND (t1.ID_D = t2.ID_D) AND (t1.
> ID_P = t2.ID_P)
Твой запрос не находит дублирующиеся записи. Вместо этого он выдает все записи
ЮЮ (2007-03-12 11:53:00) [7]SELECT *
FROM
ЧтобТебеВсюЖизньСТакимиТаблмцамиРаботать t1
JOIN ЧтобТебеВсюЖизньСТакимиТаблмцамиРаботать t2 ON
(t1.DOC_D = t2.DOC_D) AND (t1.ID_D = t2.ID_D) AND (t1.ID_P = t2.ID_P)