Ver Mensaje Individual
  #3 (permalink)  
Antiguo 13/09/2012, 10:05
3ricks0ul
 
Fecha de Ingreso: junio-2012
Mensajes: 90
Antigüedad: 11 años, 11 meses
Puntos: 2
Respuesta: Consulta en SQL compleja

Hola, efectivamente verifique que la UNION funcionara y si lo hace, pero tengo un detalle cuando aniado a la consulta el ORDER BY NEWID()

Me bota este error:

ORDER BY items must appear in the select list if the statement contains a UNION, INTERSECT or EXCEPT operator.

esta es la consulta:

Código SQL:
Ver original
  1. (
  2. @U INT,
  3. @L INT
  4. )
  5. AS
  6. DECLARE @R INT
  7. SET @L = 1 ---- 1st value
  8. SET @U= 5 ---- Last Value
  9. SELECT @R = ROUND (((@U - @L -1) * RAND() + @L), 0)----Upper to Lower
  10. --SELECT @R----Random Value
  11.  
  12. --Select 1 - 4 random records
  13. SELECT TOP (ABS(CHECKSUM(NEWID())) % 1 + @R )
  14.     id,name,lastname,snumber,phone1,phone2,activity,suspect
  15. FROM employments
  16. WHERE
  17. activity=1
  18. UNION
  19. SELECT id,name,lastname,snumber,phone1,phone2,activity,suspect
  20. FROM employments
  21. WHERE
  22. suspect=1
  23. ORDER BY NEWID()

en las pruebas sin order by me arroja resultados pero siempre iguales..