Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2006.04.09;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.015 c
2-1143385762
AlexanderMS
2006-03-26 19:09
2006.04.09
Печать от А до Я


1-1141294068
caries
2006-03-02 13:07
2006.04.09
Как вычислить разницу в датах?


3-1140067253
Рафик
2006-02-16 08:20
2006.04.09
Помогите создать запрос по дате


15-1142411199
WestBronx
2006-03-15 11:26
2006.04.09
Как узнать св-во железа?


8-1130620561
MegaGaga
2005-10-30 01:16
2006.04.09
Как использовать функции для рисованмя на Canvas`е на битмапе?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский