不支持参考'PARAM'(参考组功能)

时间:2017-02-17 13:23:11

标签: mysql sql phpmyadmin

我的子句sql

中有错误
SELECT e.id_pedido, 
       d.pregunta, 
       Group_concat(d.respuesta)            AS respuestan, 
       e.cedula_usuario, 
       (SELECT `nombres` 
        FROM   `usuarios` 
        WHERE  `cedula` = e.cedula_usuario) AS nombreUsuario, 
       (SELECT `id_supervisor` 
        FROM   `usuarios` 
        WHERE  `cedula` = e.cedula_usuario) AS idSupervisor, 
       e.cedula_cliente, 
       c.`nit`, 
       c.`contacto`, 
       c.cod_ciudad, 
       c.nom_ciudad, 
       c.cod_barrio, 
       c.n                                  om_barrio, 
       c.direccion, 
       c.telefono, 
       e.fecha_pedido, 
       e.hora_final, 
       (SELECT p.descripcion 
        FROM   `preguntas_encuesta_obligatoria` AS p 
        WHERE  p.encuesta = '34' 
               AND p.id_preg = d.pregunta 
               AND p.consecutivo_preg = '1' 
               AND p.tipo = '1')            AS preguntaFin, 
       (SELECT Group_concat(descripcion) AS descripcion 
        FROM   `preguntas_encuesta_obligatoria` 
        WHERE  encuesta = '34' 
               AND id_preg = d.pregunta 
               AND consecutivo_preg IN ( respuestan ) 
               AND tipo = '2')              AS respuestaFin, 
       (SELECT `unidad_de_negocio` 
        FROM   `usuarios` 
        WHERE  `cedula` = e.cedula_usuario) AS unidad_negocio, 
       (SELECT `id_unidad_negocio` 
        FROM   `usuarios` 
        WHERE  `cedula` = e.cedula_usuario) AS id_unidad_negocio 
FROM   `encuesta_obligatoria` AS e 
       INNER JOIN encuesta_obligatoria_detalle AS d 
               ON e.id_pedido = d.id_encuesta 
       INNER JOIN clientes AS c 
               ON e.cedula_cliente = c.cedula 
WHERE  e.`fecha_pedido` >= '2017-02-13' 
       AND e.`fecha_pedido` <= '2017-02-16' 
       AND d.encuesta = '34' 
GROUP  BY e.id_pedido, 
          d.pregunta 
ORDER  BY e.id_pedido DESC, 
          d.pregunta ASC, 
          d.respuesta ASC 

不支持参考'respuestan'(参考群组功能)

1 个答案:

答案 0 :(得分:0)

GROUP_CONCAT() 返回串联字符串,并尝试将其用作集合。

SELECT e.id_pedido, 
   d.pregunta, 
   Group_concat(d.respuesta)         AS respuestan, 
   (SELECT Group_concat(descripcion) AS descripcion 
    FROM   `preguntas_encuesta_obligatoria` 
    WHERE  encuesta = '34' 
           AND id_preg = d.pregunta 
           AND consecutivo_preg IN ( respuestan )  <-- You cant do this
           AND tipo = '2')              AS respuestaFin, 

相反,您必须包含正确的SELECT

consecutivo_preg IN  ( SELECT consecutivo_preg FROM ... WHERE ...)