Problema creando un grid con una query muy compleja

Buenas,
necesito crear una grip app con una query muy compleja que es la siguiente:
SELECT c.id AS idcc, c.nombreComercial AS cc_name, ag.id AS idag, ag.login AS ag_login, a.id AS idal, CONCAT(a.fecha, ’ ', a.hora) as dt_alarm, ar.dt_act1 AS dt_taken, ar.dt_act2 AS dt_tracking FROM cras c INNER JOIN agentes ag ON c.id=ag.id_cra INNER JOIN alarmas a ON c.id=a.id_cra AND ag.id=a.agente_id INNER JOIN (

SELECT nia1.id_alarma AS idal1, nia2.id_alarma AS idal2, nia1.dt as dt_act1, nia2.dt as dt_act2
FROM (
        SELECT t1.id_alarma, CONCAT(t1.fecha, ' ', t1.hora) AS dt
        FROM nectar_incidencias_alarma t1
        WHERE t1.idaction=1
        HAVING dt = (
                        SELECT MIN(CONCAT(t2.fecha, ' ', t2.hora)) FROM nectar_incidencias_alarma t2 WHERE t2.id_alarma=t1.id_alarma AND t1.idaction=1
                    )
    ) nia1
    INNER JOIN
    (
        SELECT t3.id_alarma, CONCAT(t3.fecha, ' ', t3.hora) AS dt
        FROM nectar_incidencias_alarma t3
        WHERE t3.idaction=8
        HAVING dt = (
                        SELECT MIN(CONCAT(t4.fecha, ' ', t4.hora)) FROM nectar_incidencias_alarma t4 WHERE t3.id_alarma=t4.id_alarma AND t4.idaction=8
                    )
    ) nia2
    ON nia1.id_alarma=nia2.id_alarma
    
) ar

ON ar.idal1=a.id
ORDER BY cc_name, idal

Pero cuando ejecuto la grid me sale el siguiente error:

Error Se produjo un error al acceder a la base de datos
Unknown column ‘c.id’ in ‘where clause’
select count(*) from ( SELECT c.id AS idcc, c.nombreComercial AS cc_name, ag.id AS idag, ag.login AS ag_login, a.id AS idal, CONCAT(a.fecha, ’ ', a.hora) as dt_alarm, ar.dt_act1 AS dt_taken, ar.dt_act2 AS dt_tracking FROM cras c INNER JOIN agentes ag ON c.id=ag.id_cra INNER JOIN alarmas a ON c.id=a.id_cra AND ag.id=a.agente_id INNER JOIN ( SELECT nia1.id_alarma AS idal1, nia2.id_alarma AS idal2, nia1.dt as dt_act1, nia2.dt as dt_act2 FROM ( SELECT t1.id_alarma, CONCAT(t1.fecha, ’ ', t1.hora) AS dt FROM nectar_incidencias_alarma t1 WHERE t1.idaction=1 HAVING dt = ( SELECT MIN(CONCAT(t2.fecha, ’ ', t2.hora)) FROM nectar_incidencias_alarma t2 WHERE t2.id_alarma=t1.id_alarma AND t1.idaction=1 ) ) nia1 INNER JOIN ( SELECT t3.id_alarma, CONCAT(t3.fecha, ’ ', t3.hora) AS dt FROM nectar_incidencias_alarma t3 WHERE t3.idaction=8 HAVING dt = ( SELECT MIN(CONCAT(t4.fecha, ’ ', t4.hora)) FROM nectar_incidencias_alarma t4 WHERE t3.id_alarma=t4.id_alarma AND t4.idaction=8 ) ) nia2 ON nia1.id_alarma=nia2.id_alarma ) ar ON ar.idal1=a.id ) nm_sel_esp WHERE c.id=1

Es decir, no detecta bien la query y hace cosas raras provocando un error. La query original est? bien, se ejecuta perfectamente en mysql. El problema es que no la puedo encapsular en una vista porque mysql no permite crear vistas con subqueries, as? que lo ?nico que puedo usar es usarla directa. ?Alguien sabe como se soluciona?
Gracias,

Dani

Scriptcase siempre reescribe los query, dado que los intenta dejar el sql independiente del motor de bbdd. Especificamente, los concat se deben escribir como sc_concat (una macro de scritcase). Lo que he terminado haciendo, es crear una vista en la bbdd, y que scriptcase use la vista.

Repito: blablablagjalkgjag

Hola Jomscl,
Creo que el problema esta en la parte final del query: me queda claro que en Mysql ejecuta bien, pero quiz? la forma en que Scriptcase reescribe el query “revela” un problema.

En la ultima clausula WHERE tienes WHERE c.id=1.

Pero en el subquery, ese campo esta cualificado con el nombre idcc.

Prueba reemplazando ese ultimo WHERE asi:

WHERE idcc = 1.

Saludos y suerte

Exacto! Esta fue la soluci?n, justo ahora me la acaban de resolver desde support. Ha costado d?as, pero al final ha salido. Tal y como dices, Scriptcase la reescribe, a?di?ndole un alias a todo el select original llamado nm_sel_esp. Con esto me ha funcionado.
Muchas gracias, doy por cerrado el tema.