Вниз
Скачать: CL | DM;

Нужна помощь в Селекте   Найти похожие ветки 

← →
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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.011 c
1-75146
zergey
2003-12-10 07:05
2003.12.23
ActiveWorkbook.SaveAs


14-75391
Leon crom
2003-11-28 11:53
2003.12.23
вот так бывает


14-75392
smu
2003-11-28 08:29
2003.12.23
Надежно ли PGP шифрование?


1-75152
NAlexey
2003-12-09 16:03
2003.12.23
FloatToStr и ffGeneral


6-75286
BLANG
2003-10-24 17:52
2003.12.23
Сокеты




   Наверх