Incompatibilidad tDolphin - IA - MySQl

Post Reply
User avatar
JoseAlvarez
Posts: 810
Joined: Sun Nov 09, 2014 5:01 pm

Incompatibilidad tDolphin - IA - MySQl

Post by JoseAlvarez »

Saludos amigos.

He utilizado la inteligencia artificial para crear muchas consultas de mariadb y mysql. De verdad es fantástico y no tengo problemas en usarla. es una gran herramienta para todo, y si lo podemos aprovechar, ¿por qué no?

El caso es que me he encontrado que a veces las consultas funcionan perfecto en NAVICAT (podría ser cualquier otro administrador de BD) pero cuando lo llevo a FW+HARBOUR arroja error de sintaxis. Todo se copia tal cual y me aseguro de no tener errores de mi parte. pero nada, sigue arrojando el error 1064.

Revisando pude darme cuenta de algo, si se intenta ejecutar mas de una operación en una sola consulta no funciona. si las separo, funciona.
por ejemplo el DROP TEMPORARY TABLE IF EXIST seguido de otras instrucciones, no sirve. si lo ejecuto primero con un execute y luego el resto de la consulta en otra, si funciona.

el caso es que la IA me proporciona consultas donde usa cosas de mysql que ni sabia que existían, pero me dan lo que necesito. Solo que al llevarlo a harbour, no funciona. asi de simple.

uso tDolphin. ¿alguien tiene idea del porque de esto?

Se que la solución seria trabajarla por partes y/o quitarle esas cosas extras de mysql que usa la IA, pero quedaría en el mismo sitio de antes, y quiero aprovechar la ayuda.

aqui dejo el ejemplo de una consulta, solo para fines orientativos.

Code: Select all | Expand

-- Eliminar la tabla temporal si ya existe
DROP TEMPORARY TABLE IF EXISTS temp_resultados;

-- Crear una tabla temporal para almacenar los resultados intermedios
CREATE TEMPORARY TABLE temp_resultados AS
SELECT 
    C.codigo_cliente, 
    C.razon_social_cliente, 
    M.codigo_medio, 
    M.nombre_medio, 
    D.fecha_pago, 
    D.code_clien, 
    D.numero_recibo, 
    D.doc_pagado, 
    D.monto, 
    D.doc_deleted
FROM 
    c32demo_clientes   AS C,
    c32demo_mediospago AS M,
    c32demo_desglose   AS D 
WHERE 
    C.codigo_cliente = D.code_clien 
    AND M.codigo_medio = D.codigo_medio 
    AND D.fecha_pago BETWEEN '2025-02-06' AND '2025-02-09' 
    AND D.doc_deleted <> '.T.'
ORDER BY 
    D.fecha_pago, 
    D.codigo_medio, 
    D.numero_recibo, 
    D.doc_pagado;

-- Consulta final con subtotales después del grupo de fecha_pago
SELECT fecha_pago, nombre_medio, codigo_medio, numero_recibos, total_doc_pagado, total_monto FROM (
    -- Datos principales
    SELECT 
        fecha_pago,
        nombre_medio, 
        codigo_medio, 
        COUNT(numero_recibo) AS numero_recibos, 
        SUM(doc_pagado) AS total_doc_pagado, 
        SUM(monto) AS total_monto,
        0 AS orden
    FROM temp_resultados
    GROUP BY fecha_pago, codigo_medio, nombre_medio 

    UNION ALL

    -- Filas de subtotales (colocadas después)
    SELECT 
        fecha_pago,
        'SUBTOTAL' AS nombre_medio,
        NULL AS codigo_medio,
        NULL AS numero_recibos,
        NULL AS total_doc_pagado,
        SUM(monto) AS total_monto,
        1 AS orden
    FROM temp_resultados
    GROUP BY fecha_pago
) AS final_query
ORDER BY fecha_pago, orden, codigo_medio, nombre_medio;
"Los errores en programación, siempre están entre la silla y el teclado..."

Fwh 19.06 32 bits + Harbour 3.2 + Borland 7.4 + MariaDB + TDolphin

Carora, Estado Lara, Venezuela.
User avatar
Antonio Linares
Site Admin
Posts: 42529
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Has thanked: 31 times
Been thanked: 77 times
Contact:

Re: Incompatibilidad tDolphin - IA - MySQl

Post by Antonio Linares »

Estimado Jose,

Por lo que tengo entendido no todos los motores de bases de datos soportan la misma sintaxis SQL.

Al pedir una determinada sintaxis para una sentencia SQL especifícale el motor de base de datos a usar.
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
JoseAlvarez
Posts: 810
Joined: Sun Nov 09, 2014 5:01 pm

Re: Incompatibilidad tDolphin - IA - MySQl

Post by JoseAlvarez »

Saludos maestro.

Sí, siempre lo hago, le digo que trabajo en local con mariadb y en la nube con mysql. Siempre me dice "Ok, prepararé la consulta para que funcione en ambos"

Lo que si he comprobado por ejemplo es que tDolphin no acepta dos operaciones diferentes, un execute y un query en la misma consulta, por ejemplo un drop, create y select juntos, cosa que funciona perfecto en el generador de querys de navicat o cualquiera parecido.
"Los errores en programación, siempre están entre la silla y el teclado..."

Fwh 19.06 32 bits + Harbour 3.2 + Borland 7.4 + MariaDB + TDolphin

Carora, Estado Lara, Venezuela.
User avatar
JoseAlvarez
Posts: 810
Joined: Sun Nov 09, 2014 5:01 pm

Re: Incompatibilidad tDolphin - IA - MySQl (Solucionado)

Post by JoseAlvarez »

Amigos, como suele suceder, las soluciones a veces son las más simples.

Cuando se desea hacer una consulta mysql a la IA basta con decirle "Hazla adaptada para el lenguaje HARBOUR"

y listo... así de simple.

Un abrazo.

Les dejo la explicación de la IA:
Harbour es un lenguaje de programación muy potente y versátil, pero tiene algunas limitaciones al ejecutar consultas complejas y comandos avanzados de MySQL. Aquí te menciono algunas de ellas:

Compatibilidad limitada con MySQL: Aunque Harbour puede conectarse a bases de datos MySQL, no soporta todas las funcionalidades avanzadas de MySQL, como ciertas funciones de agregación, subconsultas y operaciones complejas de JOIN.

Rendimiento: Al ejecutar consultas complejas, el rendimiento puede ser inferior en comparación con otros lenguajes y herramientas especializadas en bases de datos.

Documentación y soporte: La documentación y el soporte para el uso de MySQL con Harbour pueden ser limitados, lo que puede dificultar la resolución de problemas y la implementación de soluciones avanzadas.

Actualizaciones y mantenimiento: Harbour no se actualiza tan frecuentemente como otros lenguajes modernos, lo que puede resultar en una menor compatibilidad con las últimas versiones y características de MySQL.

A pesar de estas limitaciones, Harbour sigue siendo una herramienta valiosa para aplicaciones de bases de datos y negocios, especialmente para aquellos familiarizados con el lenguaje Clipper.
"Los errores en programación, siempre están entre la silla y el teclado..."

Fwh 19.06 32 bits + Harbour 3.2 + Borland 7.4 + MariaDB + TDolphin

Carora, Estado Lara, Venezuela.
User avatar
Vikthor
Posts: 276
Joined: Fri Oct 07, 2005 5:20 am
Location: México

Re: Incompatibilidad tDolphin - IA - MySQl

Post by Vikthor »

He leído tu publicación y la duda que tengo es la siguiente:

¿ Cuál fue la diferencia significativa entre la primer consulta que generaba error y la segunda que se ejecutaba de forma correcta ?
Vikthor
Post Reply