Команда:
1 India
2 Pakistan
3 Srilanka
4 Australia
Выход:
1 Pakistan VS India
2 Srilanka VS Pakistan
3 Srilanka VS India
4 Australia VS Srilanka
5 Australia VS Pakistan
6 Australia VS India
Привет и добро пожаловать в SO. Вам нужно пометить СУБД, с которой вы работаете. Я сомневаюсь, что у вас есть и mysql, и sql-server. Также нам нужны детали, чтобы помочь. Вот отличное место для начала. spaghettidba.com/2015/04/24/…






Я думаю, вы это ищете. Предположим, ваша исходная таблица называется '# temp2'
select a.string+' VS '+b.string from #temp2 a cross join #temp2 b
where a.string = 'Australia' and a.string<>b.string
union all
select a.string+' VS '+b.string from #temp2 a cross join #temp2 b
where a.string = 'Srilanka' and a.string<>b.string and b.string not in (Select a.string from #temp2 a cross join #temp2 b
where a.string = 'Australia')
union all
select a.string+' VS '+b.string from #temp2 a cross join #temp2 b
where a.string = 'Pakistan' and a.string<>b.string
and b.string not in (Select a.string from #temp2 a cross join #temp2 b
where a.string = 'Australia')
and b.string not in (Select a.string from #temp2 a cross join #temp2 b
where a.string = 'Srilanka')
Почему бы не сделать это как единый запрос и не отбросить все те предикаты where. Ради всего святого, это больше усилий, чем печатать вручную.
Спасибо за помощь Дэниел
это работает:
SELECT ROW_NUMBER() OVER(Order By (Select null)),t2.Name +' VS '+ t1.Name
FROM Team t1
JOIN Team t2 on t2.id>t1.Id
order by t2.Id,t1.Id desc
Где твой код?