|
|
|
| как сделать проверку на уникальность группу полей в таблице (Access 2003) | |
|
| |
|
|
|
| сделать уникальный индекс по нескольким полям | |
|
| |
|
|
|
| нужно чтобы данные трех полей не совподали, (если два поля совпали, а третье нет, то запись не удаляется) | |
|
| |
|
|
|
| Ну... я и говорю уникальный индекс по 3-м полям. | |
|
| |
|
|
|
| а как сделать, что-бы проверялось не по отдельности каждый столбик, а наличие повторов в группе столбцов
п1| п2|п3
1. | 2 . | 3.
1. | 2 . | 2.
1. | 1 . | 2.
1. | 2 . | 3. - (повтор) | |
|
| |
|
|
|
| а какая именно запись удаляется?
К примеру таблица из 6 полей, нужно чтоб первые три поля были уникальные. Допустим есть 4 записи, в которых поля повторяются, а в остальных полях значения разные. Так какую из этих 4 записей удалять, а какую нет? | |
|
| |
|
|
|
| все следующие повторы
п1| п2|п3
1. | 2 . | 3.
1. | 2 . | 2.
1. | 1 . | 2.
1. | 2 . | 3. - (удалить повтор)
1. | 1 . | 1.
1. | 2 . | 3. - (удалить повтор) | |
|
| |
|
|
|
| так вам нужно "Проверить уникальность" или "удалить не уникальные"
ЧТо бы не допустить ввод неуникальных по нескольком полям записей, нужно создать уникальный индекс по этим полям.
Если нужно создать таблицу в которой есть только уникальные записи, создайте запрос на создание новой таблицы с группировной понужным полям | |
|
| |
|
|
|
| есть десять полей, три поля должны проверяться на уникальность, как это можно сгрупировать? | |
|
| |
|
|
|
| если нужно проверить наличие повторов - запрос -в нем:
SELECT Таблица.П1, Таблица.П2, Таблица.П3
FROM Таблица
WHERE (((Таблица.П1) In (SELECT [Таблица] FROM [Таблица] As Tmp GROUP BY [П1],[П2],[П3] HAVING Count(*)>1 And [П2] = [Таблица].[П2] And [П3] = [Таблица].[П3])))
ORDER BY Таблица.П1,Таблица.П2, Таблица.П3;
|
Ну далее запрос на удаление ..все стандартными средствами Access-a, как и сказал Osmor | |
|
| |