Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

MSSQL Вывести всех однофамильцев.

Александр Сергеевич Знаток (481), закрыт 13 лет назад
Как вывести всех однофамильцев из таблицы. Вроде как то можно создать дополнительную таблицу в запросе и там провести сравнение, но я не знаю как.
Дополнен 13 лет назад
Фамилия не известна. Необходимо вывести данные тех у кого одинаковые фамилии
Лучший ответ
Jurijus Zaksas Искусственный Интеллект (439711) 13 лет назад
Оракловский синтаксис, но на мысль должен натолкнуть:

select t1.*
from table t1,
(select surename, count(*)
from table
group by surename
having count(*)>1) t2
where t1.surename=t2.surename
Остальные ответы
Петрина Александр Просветленный (34351) 13 лет назад
а нафига так все усложнять?
select * from table where coname='пупкин'...
или сходные варианты:
select * from table where coname like' %пупкин% '
Александр Искусственный Интеллект (298803) 13 лет назад
выборку делаете лишь тех записей для которых подсчёт по колонке "фамилия" больше единицы...
QAZWSX azxs Гуру (2886) 13 лет назад
select * from people group by surname having count(surname)>1;

мне кажется мой вариант наиболее простой и оптимальный, потому что следующий вариант говорит не только про фамилии а про одинаковые записи
A1EX@NdER Знаток (370) 13 лет назад
Всем Спасибо большое! Вот получился рабочий код:
Select *
from Читатели
Where Фамилия = (select Фамилия
from Читатели
group by Фамилия
having count(*)>1)
Похожие вопросы