Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.04.09;
Скачать: CL | DM;

Вниз

Проверка одинаковых значений в таблице   Найти похожие ветки 

 
TimScorp ©   (2006-03-22 05:50) [0]

Доброго времени суток!!!

Как можно проверить есть ли  в таблице в Acess поля с одинаковыми значениями, вывести их форму и чтобы не было зеркального отображения???

С уважением TimScorp.


 
TimScorp ©   (2006-03-22 05:56) [1]

Например:

Теперь если в таблице данные типа:

Иванов     ул. Мира, д. 5, кв. 49
Петров     ул. Мира, д. 5, кв. 49
Сидоров    ул. Мира, д. 5, кв. 49


 
TimScorp ©   (2006-03-22 05:58) [2]

То результат будет таким:

Иванов, Адрес: ул. Мира, д. 5, кв. 49 - Петров, Адрес: ул. Мира, д. 5, кв. 49
Иванов, Адрес: ул. Мира, д. 5, кв. 49 - Сидоров, Адрес: ул. Мира, д. 5, кв. 49
Петров, Адрес: ул. Мира, д. 5, кв. 49 - Иванов, Адрес: ул. Мира, д. 5, кв. 49


 
TimScorp ©   (2006-03-22 05:59) [3]

Петров, Адрес: ул. Мира, д. 5, кв. 49 - Сидоров, Адрес: ул. Мира, д. 5, кв. 49
Сидоров, Адрес: ул. Мира, д. 5, кв. 49 - Иванов, Адрес: ул. Мира, д. 5, кв. 49
Сидоров, Адрес: ул. Мира, д. 5, кв. 49 - Петров, Адрес: ул. Мира, д. 5, кв. 49

Как можно сделать чтобы писалось только один раз??? (Т.е. не было зеркального отображения)

С уважением TimScorp.


 
ЮЮ ©   (2006-03-22 07:26) [4]


> То результат будет таким:

Результат чего? Запроса? Вот и прведи его текст - покритикуем
И структуру таблицы. Или там только два поля?

И какой результат нужен?


 
TimScorp ©   (2006-03-22 07:33) [5]

DM.AdresTbl.First;
 while not DM.AdresTbl.Eof do
   begin
     s := QuotedStr ("%"+DM.AdresTblAdres.Text+"%");
     s1 := DM.AdresTblLinkKey.AsString;

     DM.AdresQ.Active := false;
     DM.AdresQ.SQL.Clear;
     DM.AdresQ.SQL.Add("SELECT *");
     DM.AdresQ.SQL.Add("FROM adr");
     DM.AdresQ.SQL.Add("WHERE Adres LIKE " + s);
     DM.AdresQ.SQL.Add("AND LinkKey <> " + s1);
     DM.AdresQ.Active := true;
     DM.AdresQ.First;
     while not DM.AdresQ.Eof do
       begin
         RichEdit1.Lines.Add(DM.AdresTblName.Text + ", &#192;&#228;&#240;&#229;&#241;: " + DM.AdresTblAdres.Text + " - " +
                             DM.AdresQName.Text + ", &#192;&#228;&#240;&#229;&#241;: " + DM.AdresQAdres.Text);
         DM.AdresQ.Next;
       end;

     DM.AdresTbl.Next;
   end;


 
TimScorp ©   (2006-03-22 07:35) [6]

Нужно что бы выводило только:

Иванов, Адрес: ул. Мира, д. 5, кв. 49 - Петров, Адрес: ул. Мира, д. 5, кв. 49
Иванов, Адрес: ул. Мира, д. 5, кв. 49 - Сидоров, Адрес: ул. Мира, д. 5, кв. 49

и все. Как исключить зеркальную проверку???

С уважением TimScorp.


 
Virgo_Style ©   (2006-03-22 07:55) [7]

... WHERE A.ID>B.ID ?


 
TimScorp ©   (2006-03-22 09:52) [8]

Получается так:

Иванов, Адрес: ул. Мира, д. 5, кв. 49 - Петров, Адрес: ул. Мира, д. 5, кв. 49
Иванов, Адрес: ул. Мира, д. 5, кв. 49 - Сидоров, Адрес: ул. Мира, д. 5, кв. 49
Петров, Адрес: ул. Мира, д. 5, кв. 49 - Сидоров, Адрес: ул. Мира, д. 5, кв. 49

А нужно чтобы выводило только:

Иванов, Адрес: ул. Мира, д. 5, кв. 49 - Петров, Адрес: ул. Мира, д. 5, кв. 49
Иванов, Адрес: ул. Мира, д. 5, кв. 49 - Сидоров, Адрес: ул. Мира, д. 5, кв. 49

С уважением TimScorp.


 
ivb2001 ©   (2006-03-22 12:20) [9]

Может в AddressTBL добавить ORDER by NAME? тогда будут сначала все Ивановы потом Петровы и тд


 
Virgo_Style ©   (2006-03-22 13:23) [10]

Ну если нужен только Иванов, так и выбери только его, в чем проблема?)


 
Sergey13 ©   (2006-03-22 13:29) [11]

2[8] TimScorp ©   (22.03.06 09:52)
Над запросом мне думать лень, но тебе необходимо как то выделить одного из "похожих" например по MIN(ID). И к нему уже пристегивать остальных.


 
SergP.   (2006-03-22 18:18) [12]


SELECT a.name2, a.adres, b.name, b.adres
FROM (SELECT min(name) as name2, adres
FROM tbl
GROUP BY adres
HAVING count(*)>1) AS a, tbl AS b
WHERE a.adres=b.adres and a.name2<>b.name



Страницы: 1 вся ветка

Текущий архив: 2006.04.09;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.028 c
2-1143478151
SamProf
2006-03-27 20:49
2006.04.09
Как в idFTPServer1 определить количество подключённых юзеров?


10-1116407057
Uli
2005-05-18 13:04
2006.04.09
Удалить все закладки


15-1142803604
Volf_555
2006-03-20 00:26
2006.04.09
Проблема с DVD - читает только CD-диски, а DVD-нет...


6-1134771508
TIdNNTP
2005-12-17 01:18
2006.04.09
Как терминировать поток с TIdNNTP?


2-1143442965
Физик
2006-03-27 11:02
2006.04.09
Как програмно зделать активным модальное окно