Страница 1 из 1
Sql запрос. Откинуть одинаковые записи
Добавлено: 27 апр 2007, 12:02
Dr_Grizzly
Всем привет! Такая вот штука, две таблицы. В одной список фамилий в другой список кредитов каждого ФИО, т.е у одного ФИО может быть не один кредит. Нужно сделать sql запрос по второй таблице в котором увидим все фамили в одном экземпляре, а не по две фамилии одинаковые, если у него два кредита. Ваще такое реально?
Re: Sql запрос. Откинуть одинаковые записи
Добавлено: 27 апр 2007, 12:27
Absurd
В SQL можно вытащить любой срез данных.
1) select distinct(name) from .... where ....
2) select name,
count(credit) as numberOfCredits
from .... where ....
group by name having numberOfCredits > 0
Re: Sql запрос. Откинуть одинаковые записи
Добавлено: 27 апр 2007, 14:04
Naeel Maqsudov
3) select * from первая_таблица
where exists(select * from кредиты where кредиты.fk=первая_таблица.pk)
Т.е., в переводе с SQL на русский: выбрать людей у которых существует хоть один кредит. (вместо fk и pk - указываются поля, по которым связаны таблицы)
Есть и другие варианты.
Выбирать надо тот, который работает быстрее.
Какой работает быстрее оценить можно зная, какой SQL-сервер, какова структура таблиц, какие есть индексы.
Re: Sql запрос. Откинуть одинаковые записи
Добавлено: 28 апр 2007, 09:11
Dr_Grizzly
" писал(а):select distinct(name) from .... where ....
СУПЕР! Работает!
" писал(а):select * from первая_таблица
where exists(select * from кредиты where кредиты.fk=первая_таблица.pk)
Этот тоже работает, но не в моем случае

У меня струкртура связей чуток не такая, а так тоже СПАСИБО!!!
Re: Sql запрос. Откинуть одинаковые записи
Добавлено: 28 апр 2007, 12:57
Dr_Grizzly
а теперь нужно наоборот

показать только те записи у которые более 1-ого кредита

а остальные убрать

Re: Sql запрос. Откинуть одинаковые записи
Добавлено: 28 апр 2007, 13:24
Dr_Grizzly
есть такая таблица: в ней есть район, фио, номер кредита. структура следующая:
альменево/фио1/номерх
альменево/фио1/номерy
альменево/фио2/номерz
альменево/фио3/номерs
варгаши/фио4/номерv
варгаши/фио4/номерk
варгаши/фио5/номерl
номера кредитов уникальны. нужен запрос который дал бы все фио(без повторений) по отдельному району, и второй запрос который дал бы все номера кредитов по району
Re: Sql запрос. Откинуть одинаковые записи
Добавлено: 28 апр 2007, 13:28
Dr_Grizzly
т.е. в данном примере по первому запросу я должен получить данные например по Альменево следующие:
ФИО1
ФИО2
ФИО3
по второму запросу данные
номерx
номерy
номерz
номерs
Re: Sql запрос. Откинуть одинаковые записи
Добавлено: 28 апр 2007, 14:23
Игорь Акопян
ты задавать хочешь район что-ли?
кстати переношу в Sql
Re: Sql запрос. Откинуть одинаковые записи
Добавлено: 28 апр 2007, 15:28
Хыиуду
select distinct fio from mytable where district='Альменево' group by fio
И то же самое с номерами вместо fio