Artículos aleatorios

12/06/2008 - 21:10 por Luis Gonz. | Informe spam
Hola,

Tengo una especie de carrito que es rellenado en función a unos consulta SQL
con diferentes subconsultas anidadas:

SELECT IdArticulo, Nombre.

FROM dbo.Articulos

WHERE (condición1).

UNION ALL

SELECT IdArticulo, Nombre.

FROM dbo.Articulos

WHERE (condición2).

Siempre que se lanza la consulta devuelve los mismos valores y me gustaría
que estos cambiasen de forma aleatoria, para ello he probado con

SELECT TOP 10 nombre_columna FROM dbo.Articulos

ORDER BY NEWID()



Pero quisiera que además de realizar el orden aleatorio respetase toda las
consulta anidada anterior.

Alguien me podría indicar cómo debería de enlzarlas o si debería
replantearlo de otro modo. Admito cualquier sugerencia.



Gracias.

Preguntas similare

Leer las respuestas

#1 Gux (MVP)
12/06/2008 - 21:24 | Informe spam
Este artículo de Bill Graziano puede serle útil:

Using NEWID to Randomly Sort Records
http://www.sqlteam.com/article/usin...rt-records

Gustavo Larriera, Microsoft MVP
http://www.linkedin.com/in/gustavolarriera
Este mensaje se proporciona tal como es, sin garantías de ninguna clase.



"Luis Gonz." wrote:

Hola,

Tengo una especie de carrito que es rellenado en función a unos consulta SQL
con diferentes subconsultas anidadas:

SELECT IdArticulo, Nombre.

FROM dbo.Articulos

WHERE (condición1).

UNION ALL

SELECT IdArticulo, Nombre.

FROM dbo.Articulos

WHERE (condición2).

Siempre que se lanza la consulta devuelve los mismos valores y me gustaría
que estos cambiasen de forma aleatoria, para ello he probado con

SELECT TOP 10 nombre_columna FROM dbo.Articulos

ORDER BY NEWID()



Pero quisiera que además de realizar el orden aleatorio respetase toda las
consulta anidada anterior.

Alguien me podría indicar cómo debería de enlzarlas o si debería
replantearlo de otro modo. Admito cualquier sugerencia.



Gracias.



Respuesta Responder a este mensaje
#2 Luis Gonz.
13/06/2008 - 10:51 | Informe spam
Gracias por la respuesta

Pero creo que no me había explicado bien, lo de obtener los artículos
aleatorios ya lo tenía, si te fijas en mi post anterior ya lo indicaba.

Mi consulta era cómo puedo unir "lo de los artículos aleatorios" con la otra
consulta con subconsultas para que funcione bien

Es decir primero que lance la aleatorio y después las que yo utilizaba

Saludos


"Gux (MVP)" escribió en el mensaje
news:
Este artículo de Bill Graziano puede serle útil:

Using NEWID to Randomly Sort Records
http://www.sqlteam.com/article/usin...rt-records

Gustavo Larriera, Microsoft MVP
http://www.linkedin.com/in/gustavolarriera
Este mensaje se proporciona tal como es, sin garantías de ninguna clase.



"Luis Gonz." wrote:

Hola,

Tengo una especie de carrito que es rellenado en función a unos consulta
SQL
con diferentes subconsultas anidadas:

SELECT IdArticulo, Nombre.

FROM dbo.Articulos

WHERE (condición1).

UNION ALL

SELECT IdArticulo, Nombre.

FROM dbo.Articulos

WHERE (condición2).

Siempre que se lanza la consulta devuelve los mismos valores y me
gustaría
que estos cambiasen de forma aleatoria, para ello he probado con

SELECT TOP 10 nombre_columna FROM dbo.Articulos

ORDER BY NEWID()



Pero quisiera que además de realizar el orden aleatorio respetase toda
las
consulta anidada anterior.

Alguien me podría indicar cómo debería de enlzarlas o si debería
replantearlo de otro modo. Admito cualquier sugerencia.



Gracias.



Respuesta Responder a este mensaje
#3 Gux (MVP)
13/06/2008 - 16:02 | Informe spam
Haga una vista con su consulta y luego consulte la vista usando newid()

Gustavo Larriera, Microsoft MVP
http://www.linkedin.com/in/gustavolarriera
Este mensaje se proporciona tal como es, sin garantías de ninguna clase.



"Luis Gonz." wrote:

Gracias por la respuesta

Pero creo que no me había explicado bien, lo de obtener los artículos
aleatorios ya lo tenía, si te fijas en mi post anterior ya lo indicaba.

Mi consulta era cómo puedo unir "lo de los artículos aleatorios" con la otra
consulta con subconsultas para que funcione bien

Es decir primero que lance la aleatorio y después las que yo utilizaba

Saludos


"Gux (MVP)" escribió en el mensaje
news:
> Este artículo de Bill Graziano puede serle útil:
>
> Using NEWID to Randomly Sort Records
> http://www.sqlteam.com/article/usin...rt-records
>
> Gustavo Larriera, Microsoft MVP
> http://www.linkedin.com/in/gustavolarriera
> Este mensaje se proporciona tal como es, sin garantías de ninguna clase.
>
>
>
> "Luis Gonz." wrote:
>
>> Hola,
>>
>> Tengo una especie de carrito que es rellenado en función a unos consulta
>> SQL
>> con diferentes subconsultas anidadas:
>>
>> SELECT IdArticulo, Nombre.
>>
>> FROM dbo.Articulos
>>
>> WHERE (condición1).
>>
>> UNION ALL
>>
>> SELECT IdArticulo, Nombre.
>>
>> FROM dbo.Articulos
>>
>> WHERE (condición2).
>>
>> Siempre que se lanza la consulta devuelve los mismos valores y me
>> gustaría
>> que estos cambiasen de forma aleatoria, para ello he probado con
>>
>> SELECT TOP 10 nombre_columna FROM dbo.Articulos
>>
>> ORDER BY NEWID()
>>
>>
>>
>> Pero quisiera que además de realizar el orden aleatorio respetase toda
>> las
>> consulta anidada anterior.
>>
>> Alguien me podría indicar cómo debería de enlzarlas o si debería
>> replantearlo de otro modo. Admito cualquier sugerencia.
>>
>>
>>
>> Gracias.
>>
>>
>>



Respuesta Responder a este mensaje
#4 Luis Gonz.
13/06/2008 - 18:42 | Informe spam
Ya está gracias, ahora voy a probar a anidarlas a otras vistas.

Salu2


"Gux (MVP)" escribió en el mensaje
news:
Haga una vista con su consulta y luego consulte la vista usando newid()

Gustavo Larriera, Microsoft MVP
http://www.linkedin.com/in/gustavolarriera
Este mensaje se proporciona tal como es, sin garantías de ninguna clase.



"Luis Gonz." wrote:

Gracias por la respuesta

Pero creo que no me había explicado bien, lo de obtener los artículos
aleatorios ya lo tenía, si te fijas en mi post anterior ya lo indicaba.

Mi consulta era cómo puedo unir "lo de los artículos aleatorios" con la
otra
consulta con subconsultas para que funcione bien

Es decir primero que lance la aleatorio y después las que yo utilizaba

Saludos


"Gux (MVP)" escribió en el mensaje
news:
> Este artículo de Bill Graziano puede serle útil:
>
> Using NEWID to Randomly Sort Records
> http://www.sqlteam.com/article/usin...rt-records
>
> Gustavo Larriera, Microsoft MVP
> http://www.linkedin.com/in/gustavolarriera
> Este mensaje se proporciona tal como es, sin garantías de ninguna
> clase.
>
>
>
> "Luis Gonz." wrote:
>
>> Hola,
>>
>> Tengo una especie de carrito que es rellenado en función a unos
>> consulta
>> SQL
>> con diferentes subconsultas anidadas:
>>
>> SELECT IdArticulo, Nombre.
>>
>> FROM dbo.Articulos
>>
>> WHERE (condición1).
>>
>> UNION ALL
>>
>> SELECT IdArticulo, Nombre.
>>
>> FROM dbo.Articulos
>>
>> WHERE (condición2).
>>
>> Siempre que se lanza la consulta devuelve los mismos valores y me
>> gustaría
>> que estos cambiasen de forma aleatoria, para ello he probado con
>>
>> SELECT TOP 10 nombre_columna FROM dbo.Articulos
>>
>> ORDER BY NEWID()
>>
>>
>>
>> Pero quisiera que además de realizar el orden aleatorio respetase toda
>> las
>> consulta anidada anterior.
>>
>> Alguien me podría indicar cómo debería de enlzarlas o si debería
>> replantearlo de otro modo. Admito cualquier sugerencia.
>>
>>
>>
>> Gracias.
>>
>>
>>



email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida