Ver Mensaje Individual
  #8 (permalink)  
Antiguo 18/01/2010, 09:18
yz!
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Registros aleatorios sobre consulta de unión

Amigo, ya se lo importante que es poner el código para que me podáis ayudar, pero teniendo en cuenta que la única diferencia entre la última vez que posteamos código es la sustitución de una 'x' por un 'tablatemporal'.

He supuesto que no sería necesario, pero ahi va:
Código SQL:
Ver original
  1. SELECT * FROM (
  2. SELECT Formacion.Id_Curso, Formacion.Visitas, Formacion.FechaAlta, Formacion.Puja, PorcentajeInscritos = CAST((SELECT COUNT(Id) FROM Formacion_Inscritos WHERE Formacion_Inscritos.Id_Curso = Formacion.Id_Curso) / CAST((CASE Formacion.Visitas WHEN 0 THEN 1 ELSE Formacion.Visitas END) AS DECIMAL(9,3)) * 100 AS DECIMAL(9,3)), Formacion.NombreCurso AS Curso, EmpresasCursos.Nombre AS Centro, EmpresasCursos.Poblacion, tbProvincias.Descripcion AS Provincia, EmpresasCursos.Logo
  3. FROM Formacion INNER JOIN EmpresasCursos ON Formacion.Id_Empresa = EmpresasCursos.Id_Empresa
  4. INNER JOIN tbProvincias ON EmpresasCursos.Provincia = tbProvincias.Id
  5. WHERE Formacion.Id_Delegacion = 0 AND Formacion.Sector IN (5,6,7,9,13) AND Formacion.Puja IN (SELECT TOP 4 Formacion.puja FROM Formacion ORDER BY Formacion.Puja DESC)
  6.  UNION
  7. SELECT Formacion.Id_Curso, Formacion.Visitas, Formacion.FechaAlta, Formacion.Puja, PorcentajeInscritos = CAST((SELECT COUNT(Id) FROM Formacion_Inscritos WHERE Formacion_Inscritos.Id_Curso = Formacion.Id_Curso) / CAST((CASE Formacion.Visitas WHEN 0 THEN 1 ELSE Formacion.Visitas END) AS DECIMAL(9,3)) * 100 AS DECIMAL(9,3)), Formacion.NombreCurso AS Curso, Formacion_Delegaciones.Nombre AS Centro, Formacion_Delegaciones.Poblacion, tbProvincias.Descripcion AS Provincia, EmpresasCursos.Logo
  8. FROM Formacion INNER JOIN EmpresasCursos ON Formacion.Id_Empresa = EmpresasCursos.Id_Empresa
  9. INNER JOIN Formacion_Delegaciones ON Formacion.Id_Delegacion = Formacion_Delegaciones.Id_Delegacion
  10. INNER JOIN tbProvincias ON Formacion_Delegaciones.Provincia = tbProvincias.Id
  11. WHERE Formacion.Id_Delegacion <> 0 AND Formacion.Sector IN (5,6,7,9,13) AND Formacion.Puja IN (SELECT TOP 4 Formacion.puja FROM Formacion ORDER BY Formacion.Puja DESC
  12. ) tablatemporal
  13. ORDER BY NEWID()

Y esto me da un error en:
Mens. 102, Nivel 15, Estado 1, Línea 12
Sintaxis incorrecta cerca de 'tablatemporal'.