![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Проблемы с запросом [D5, dBase, FoxPro]
werr © (2002-10-11 12:22:00)Запрос:
DELETE from Table t1 where 1<(select count(*) FROM Table t2 where t1.field1 = t2.field1 and t1.field1 = t2.field1)
(LocalSQL)
Запрос удаляет повторяющиеся записи из Table, оставляя одну из них (Подсказали его добрые люди с этого форума).
Если все поля заполнены, ты запрос работает как надо, но если, например, поле field2 в какой-то строке не заполнено, то эта строка не удаляется.
Как сделать чтобы повтряющиеся строки и с незаполненными полями тоже удалялись?
Пол дня мучаюсь, никак не получается сделать, help!
Johnmen (2002-10-11 15:50:00) [1]По другому - только полным пересмотром концепции структуры твоей БД... :))))
werr (2002-10-11 15:43:00) [2]ясно, но полей у меня штук 20
может можно по-другому?
Johnmen (2002-10-11 14:50:00) [3]DELETE from Table t1
where (1<(select count(*) FROM Table t2 where t1.field1
=t2.field1 and t1.field2 = t2.field2)) or
((t1.field1 is null) and (t2.field1 is null) and
(t1.field2 = t2.field2)) or
((t1.field2 is null) and (t2.field2 is null) and
(t1.field1 = t2.field1))
passm (2002-10-11 14:48:00) [4]... WHERE (T1.FIELD1 = T2.FIELD1 OR (T1.FIELD1 IS NULL AND T2.FIELD1 IS NULL)) AND (T1.FIELD2 = T2.FIELD2 OR (T1.FIELD1 IS NULL AND T2.FIELD2 IS NULL))...
werr (2002-10-11 14:42:00) [5]ау, help!
werr (2002-10-11 12:36:00) [6]если добавить в WHERE условие незаполненности то незаплненные как раз и не будут удаляться, а надо наоборот
Johnmen (2002-10-11 12:26:00) [7]Так добавь в WHERE условие незаполненности...