Ver Mensaje Individual
  #2 (permalink)  
Antiguo 02/10/2013, 08:31
Avatar de h2swider
h2swider
 
Fecha de Ingreso: julio-2007
Ubicación: Ciudad de Buenos Aires
Mensajes: 932
Antigüedad: 16 años, 9 meses
Puntos: 194
Respuesta: Php consulta mysql extensa no funciona.

No hay mucha vuelta que darle, tu sql esta fallando. Intenta imprimiendo el error sql antes que nada

Intenta hacer

Código PHP:
Ver original
  1. $solicitud = mysql_query("
  2.                Select DS.IdSolicitud, S.FechaCarga as Fecha, TE.Descripcion as TipoEmision,
  3.                E.Descripcion as Empresa, SI.Descripcion as Sistema, S.ImporteNCR, SU.name as Solicitante,
  4.                ES.Descripcion as Estado from DetalleSolicitud DS
  5.                JOIN Solicitud S ON DS.IdSolicitud = S.IdSolicitud
  6.                JOIN Empresa E ON S.IdEmpresa = E.IdEmpresa
  7.                JOIN Estado ES ON DS.IdEstado = ES.IdEstado
  8.                JOIN TipoEmision TE ON S.IdTipo = TE.IdTipo
  9.                JOIN SistemaElemento SE ON S.IdSE = SE.IdSE
  10.                JOIN Sistema SI ON SE.IdSistema = SI.IdSistema
  11.                JOIN Acceso A ON S.IdAcceso = A.IdAcceso
  12.                JOIN sec_users SU ON A.IdUsuario = SU.login
  13.                Where DS.IdDetalle IN
  14.                 (SELECT DSA.IdDetalle FROM vDetalleSolicitudAprobador DSA
  15.                WHERE DSA.IdUsuario =* 'asoler'
  16.                 AND DSA.IdSolicitud = DS.IdSolicitud AND DSA.IdEstado IN (1, 5)
  17.                GROUP BY DSA.IdSolicitud HAVING (DS.Prioridad = MIN(DSA.Prioridad))
  18.                AND (MIN(DSA.Prioridad) = (SELECT MIN(DSAT.Prioridad)
  19.                FROM vDetalleSolicitudAprobador DSAT*
  20.                WHERE DSAT.IdSolicitud = DSA.IdSolicitud AND DSAT.IdEstado IN (1, 5))))
  21.                AND DS.IdSolicitud not In (Select IdSolicitud from DetalleSolicitud
  22.                where IdEstado = 3)
  23.                UNION ALL
  24.                SELECT DS.IdSolicitud, S.FechaCarga as Fecha, TE.Descripcion as TipoEmision,
  25.                E.Descripcion as Empresa,* SI.Descripcion as Sistema, S.ImporteNCR, SU.name as Solicitante,
  26.                ES.Descripcion as Estado
  27.                FROM DetalleSolicitud DS
  28.                JOIN Solicitud S ON DS.IdSolicitud = S.IdSolicitud
  29.                JOIN Nivel N ON S.IdTipo = N.IdTipo
  30.                JOIN sec_groups SG ON N.IdCategoria = SG.IdCategoria
  31.                JOIN Acceso A ON SG.group_id = A.IdPerfil And S.IdEmpresa = A.IdEmpresa
  32.                JOIN TipoEmision TE ON S.IdTipo = TE.IdTipo
  33.                JOIN Empresa E ON S.IdEmpresa = E.IdEmpresa
  34.                JOIN SistemaElemento SE ON S.IdSE = SE.IdSE
  35.                JOIN Sistema SI ON SE.IdSistema = SI.IdSistema
  36.                JOIN Acceso AC ON S.IdAcceso = AC.IdAcceso
  37.                JOIN sec_users SU ON AC.IdUsuario = SU.login
  38.                JOIN Estado ES ON DS.IdEstado = ES.IdEstado
  39.                where DS.IdEstado = 4
  40.                and A.IdUsuario = 'asoler'
  41.                and SG.IdCategoria = 3
  42.                and NOT EXISTS(Select D.IdSolicitud From DetalleSolicitud D Where D.IdSolicitud = DS.IdSolicitud AND D.IdEstado != 4)
  43.                Group by DS.IdSolicitud
  44.                Union ALL
  45.                Select DS.IdSolicitud, S.FechaCarga as Fecha, TE.Descripcion as TipoEmision,
  46.                E.Descripcion as Empresa, SI.Descripcion as Sistema, S.ImporteNCR, SU.name as Solicitante,
  47.                ES.Descripcion as Estado
  48.                From DetalleSolicitud DS
  49.                JOIN Solicitud S ON DS.IdSolicitud = S.IdSolicitud
  50.                JOIN Empresa E ON S.IdEmpresa = E.IdEmpresa
  51.                JOIN Estado ES ON DS.IdEstado = ES.IdEstado
  52.                JOIN TipoEmision TE ON S.IdTipo = TE.IdTipo
  53.                JOIN SistemaElemento SE ON S.IdSE = SE.IdSE
  54.                JOIN Sistema SI ON SE.IdSistema = SI.IdSistema
  55.                JOIN Acceso A ON S.IdAcceso = A.IdAcceso
  56.                JOIN sec_users SU ON A.IdUsuario = SU.login
  57.                Where
  58.                DS.IdEstado = 3 AND S.IdAcceso IN
  59.                (Select IdAcceso From Acceso where IdUsuario = 'asoler')
  60.                ") or die(mysql_error());
__________________
Codifica siempre como si la persona que finalmente mantedra tu código sea un psicópata violento que sabe donde vives