Query Picante

28/05/2004 - 20:43 por José G. Díaz U. | Informe spam
Saludos y gracias de antemano.

Tengo estos datos:

37 logo-ux.jpg 1 1
38 tit_la_encuesta.gif 2 1
39 encuesta_03.gif 3 0
40 logoCampusxity.gif 4 1
41 ctv.bmp 5 1
42 b1.png 6 1
43 books2a[1].gif 3 1
44 pinup0b[1].gif 1 1
45 starwars[1].gif 5 1
46 slogan.gif 1 1
47 logopeq.gif 1 1

y estos son los campos:

idbanner int
Nombre varchar
IdPosicion int
Activo bit

La idea es seleccionar 6 registros ALEATORIOS cuyo ACTIVO = 1 pero no pueden
repetirse el IdPosicion.

Hasta ahora he logrado esto:

select top 6 *
from banner
where Activo = 1
order by newid()

...y funciona pero me repite los IdPosicion como se puede ver a continuación
(repite en este caso el 1):

44 pinup0b[1].gif 1 1
41 ctv.bmp 5 1
46 slogan.gif 1 1
37 logo-ux.jpg 1 1
42 b1.png 6 1
38 tit_la_encuesta.gif 2 1

Qué cambios tendría que hacer para que no se repita?

Gracias!

Joe

Preguntas similare

Leer las respuestas

#6 Javier Loria
29/05/2004 - 20:53 | Informe spam
Hola Jose:
Creo que lo tienes CLARISIMO.
Un par de notas, es que el [3] es que son del tipo de subconsultas
"lentas", o sea de las que se hacen n veces, para poder obtener en
resultado pero con menos de 100 filas ni cuenta te das.
Por otra parte el * no es buena practica, pero andaba corriento.
Saludos,

Javier Loria
Costa Rica
Se aprecia la inclusion de DDL (CREATE, INSERTS, etc.)
que pueda ser copiado y pegado al Query Analizer.
La version de SQL y Service Pack tambien ayuda.

José G. Díaz U. escribio:
Mostrar la cita
#7 José G. Díaz U.
30/05/2004 - 05:46 | Informe spam
Gracias Javier!

Suerte!

Joe

"José G. Díaz U." escribió en el mensaje
news:
Mostrar la cita
pueden
Mostrar la cita
continuación
Mostrar la cita
Ads by Google
Search Busqueda sugerida