| Demer |
|---|
Спасибо за помощь, но ни один из вариантов не подходит (ближе всех был invm) Вот что я хотел увидеть:
select t1.Column1, t2.Column2
from (
select Column1
from tbl
group by Column1
having count(distinct Column2) > 1
) t1
left join (
select Column1, Column2
from tbl
group by Column1, Column2
) t2
on t1.Column1=t2.Column1
|
...и нахера тут может быть нужен left join ???declare @t table (Column1 int, Column2 varchar(10))
insert into @t
select 1 , 'Москва' union all
select 1 , 'Москва' union all
select 2 , 'Москва' union all
select 2 , 'Тверь' union all
select 3 , 'Москва' union all
select 4 , 'Тверь' union all
select 5 , 'Тверь'
--
select * from @t t1
where (select count(distinct t2.Column2) from @t t2 where t2.Column1=t1.Column1) > 1
-- select column1 from @t group by column1 having count(distinct column2) > 1
select t1.Column1, t2.Column2
from (
select Column1
from @t
group by Column1
having count(distinct Column2) > 1
) t1
left join (
select Column1, Column2
from @t
group by Column1, Column2
) t2
on t1.Column1=t2.Column1
(7 row(s) affected)
Column1 Column2
----------- ----------
2 Москва
2 Тверь
(2 row(s) affected)
Column1 Column2
----------- ----------
2 Москва
2 Тверь
(2 row(s) affected)
???