Форум: "Базы";
Текущий архив: 2003.12.23;
Скачать: [xml.tar.bz2];
ВнизНужна помощь в Селекте Найти похожие ветки
← →
dim- (2003-12-01 11:18) [0]Есть таблица id,name,adres,phone
в ней данные (гдето 360000 записей), но проблема что у нескольких фамилий может быть один телефон (живут в одной квартире), необходимо получить селект содержащий записи куда попадут только одна фамилия из тех телефонов т.е.
1 Иванов И.И. улица 65-45-66
2 Иванов С.И. улица 65-45-66
3 Иванов М.И. улица 65-45-66
а надо чтобы попал только один
1 Иванов И.И. улица 65-45-66
← →
MOA (2003-12-01 11:27) [1]Вот, например (не проверял)
SELECT t.Name, t.Adres, t.Phone FROM tab1 t
INNER JOIN (SELECT TOP 1 Name, adres, phone FROM tab1 t1 WHERE (t1.Adres=t.Adres) AND (t1.phone=t.phone)) t2 ON (t2.adres=t.adres) AND (t2.phone=t.phone)
или
SELECT MIN(t.Name), t.Adres, t.Phone FROM tab1 t
GROUP BY t1.Adres, t1.Phone
Удачи!
← →
MOA (2003-12-01 11:28) [2]Конечно, не
GROUP BY t1.Adres, t1.Phone
а
GROUP BY t.Adres, t.Phone
← →
sniknik (2003-12-01 11:44) [3]возможно так будет быстрее
SELECT * FROM tab1 WHERE id IN (SELECT Min(id) FROM tab1 GROUP BY phone)
чем полное обьеденение само с собой делать
(есть id и скорее всего это автоинкремент)
← →
asp (2003-12-01 11:46) [4]dim- © (01.12.03 11:18)>
SELECT T1.ID, T1.NAME, T1.PHONE
FROM (SELECT T.PHONE, MIN(T.ID) AS MIN_ID
FROM TABLE T
GROUP BY T.PHONE) AS Q1(PHONE, MIN_ID)
INNER JOIN TABLE AS T1 ON (T1.ID = Q1.ID)
← →
dim- (2003-12-01 11:58) [5]Спасибо всем, воспользовался советом sniknik ©
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2003.12.23;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.012 c