Lifeissosimple Posted April 1, 2015 at 05:50 PM Report Share #580701 Posted April 1, 2015 at 05:50 PM Boa Tarde! estou a tentar um sorteio da liga do campeões, ou seja, tenho uma tabela simples com a posição, clube, país e flag, agora quanto tento ir buscar as 4 primeiras equipas à BD, por vezes, vêm clubes do mesmo país. o SQL que estou a usar é o seguinte: select top 4 posição, clube from sorteio where flag = 0 and exists(select Distinct pais from sorteio) order by newid() a flag inicialmente está a zero para todos os clubes, e à medida que vão saindo, muda o seu estado para 1, está parte funciona bem, o problema está nos países repetidos, obrg, AM Link to comment Share on other sites More sharing options...
bruno1234 Posted April 1, 2015 at 07:19 PM Report Share #580702 Posted April 1, 2015 at 07:19 PM O algoritmo não é assim tão simples. Primeiro tens os potes, os clubes melhor cotados são os cabeças de série e por aí. Cada grupo é constituido por um clube de cada pote. Assim que sai um clube, o pote seguinte é filtrado para só serem selecionaveis os clubes possiveis. Parece-me complicado fazer tudo apenas com um select, mas se conseguires optimo 🙂 Matraquilhos para Android. Gratuito na Play Store. https://play.google.com/store/apps/details?id=pt.bca.matraquilhos Link to comment Share on other sites More sharing options...
KTachyon Posted April 1, 2015 at 07:26 PM Report Share #580704 Posted April 1, 2015 at 07:26 PM Como está tudo na mesma tabela, podes fazer o DISTINCT pais directamente na query. Não precisas da subquery. Mas a ideia que penso que tens implica agrupares por país, obteres a posição mais elevada desse país e retornares um clube. Por isso, com um GROUP BY e um ORDER BY deves conseguir o que pretendes. Agora, aquilo que eu acho é que não é assim que um sorteio da liga dos campeões funciona. Tipicamente está relacionado com os coeficientes europeus de cada clube. Os 8 mais altos são os cabeças de série (entram em clubes separados), os 8 mais altos seguintes entram a seguir, aleatoriamente em cada um dos grupos, por aí em diante... “There are two ways of constructing a software design: One way is to make it so simple that there are obviously no deficiencies, and the other way is to make it so complicated that there are no obvious deficiencies. The first method is far more difficult.” -- Tony Hoare Link to comment Share on other sites More sharing options...
Lifeissosimple Posted April 3, 2015 at 02:44 PM Author Report Share #580760 Posted April 3, 2015 at 02:44 PM Viva, obrg pelas respostas, mas eu não quero simular o sorteio existente... apenas pretento ir buscar à tabela 4 clubes com países diferentes .... o meu quebra cabeças está no país porque às vezes ao retornar 4 clubes... repete o país, obrg, AM Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now