Hola q tal, espero me puedan ayudar. Tengo una consulta hecha en MSSQL y necesito traducirla a Hana y me da error en la linea abajo copiada cerca del simbolo “@”
@FAMILIA AS T5 ON SUBSTRING (T3.“ItemCode”, 1, 2) = T5.“Code”
Seguramente es un error en la sintaxys, si alguien me puede guiar por favor?
Saludos.
@FAMILIA debe ser una vista/Vew imagino entonces quita el @ y usa “NOMBRE_DE__TU_BASE”.“FAMILIA” o si puedes poner mas detalles de tu código
Gracias Ikashimi!!! el codigo es medio largo, pero me imagino que el @familia hace referencia a una variable temporal que luego une con otro elemento de otra tabla, de todas maneras te paso el codigo completo:
SELECT T0."DocDate" AS Fecha,
T1."WhsCode" AS Almacen,
CASE WHEN (T1."WhsName" LIKE '%licitacion%') THEN 'SI' ELSE 'NO' END AS Lic,
T4."ItmsGrpNam" AS GrupArt,
T2."CardName" AS Cliente,
T1."Quantity" AS Cantidad,
T6."SlpName" AS VENDEDOR,
T0."Comments",
CASE WHEN t2."QryGroup10" = 'Y' THEN 'ESTATAL' ELSE 'PRIVADA' END AS ESTATAL,
T1."LineTotal" / .87 AS VENTAS,
T1."LineTotal" / .87 - T1."LineTotal" AS IVA,
T1."LineTotal" AS NETO
FROM INTERCOM_PRD.OINV AS T0 INNER JOIN
INTERCOM_PRD.INV1 AS T1 ON T0."DocEntry" = T1."DocEntry" INNER JOIN
INTERCOM_PRD.OCRD AS T2 ON T0."CardCode" = T2."CardCode" INNER JOIN
INTERCOM_PRD.OITM AS T3 ON T1."ItemCode" = T3."ItemCode" INNER JOIN
INTERCOM_PRD.OITB AS T4 ON T3."ItmsGrpCod" = T4."ItmsGrpCod" INNER JOIN
@FAMILIA AS T5 ON SUBSTRING (T3."ItemCode", 1, 2) = T5."Code" INNER JOIN
INTERCOM_PRD.OSLP AS T6 ON T0."SlpCode" = T6."SlpCode"
WHERE (T0."U_ESTADOFC"='V') AND (T0."CardCode" NOT IN ('C-LP-1038', 'C-CB-1392', 'C-SC-0386', 'C-OT-0192', 'C-CB-1412', 'C-SC-1274')) AND
(T0."DocDate" >= '20090101')
Prueba Con Esto:
SELECT T0.“DocDate” AS "Fecha",
T1.“WhsCode” AS "Almacen",
CASE WHEN (T1.“WhsName” Like '%%licitacion%%') THEN ‘SI’ ELSE ‘NO’ END AS "Lic",
T4.“ItmsGrpNam” AS "GrupArt",
T2.“CardName” AS "Cliente",
T1.“Quantity” AS "Cantidad",
T6.“SlpName” AS "VENDEDOR",
T0.“Comments”,
CASE WHEN t2.“QryGroup10” = ‘Y’ THEN ‘ESTATAL’ ELSE ‘PRIVADA’ END AS "ESTATAL",
T1.“LineTotal” / .87 AS "VENTAS",
T1.“LineTotal” / .87 - T1.“LineTotal” AS "IVA",
T1.“LineTotal” AS "NETO"
FROM "INTERCOM_PRD".OINV AS T0 INNER JOIN
"INTERCOM_PRD"."INV1" AS T1 ON T0.“DocEntry” = T1.“DocEntry” INNER JOIN
"INTERCOM_PRD"."OCRD" AS T2 ON T0.“CardCode” = T2.“CardCode” INNER JOIN
"INTERCOM_PRD"."OITM" AS T3 ON T1.“ItemCode” = T3.“ItemCode” INNER JOIN
"INTERCOM_PRD"."OITB" AS T4 ON T3.“ItmsGrpCod” = T4.“ItmsGrpCod” INNER JOIN
"INTERCOM_PRD"."FAMILIA" AS T5 ON SUBSTRING (T3.“ItemCode”, 1, 2) = T5.“Code” INNER JOIN
"INTERCOM_PRD"."OSLP" AS T6 ON T0.“SlpCode” = T6.“SlpCode”
WHERE T0.“U_ESTADOFC”=‘V’ AND T0.“CardCode” NOT IN (‘C-LP-1038’, ‘C-CB-1392’, ‘C-SC-0386’, ‘C-OT-0192’, ‘C-CB-1412’, ‘C-SC-1274’) AND
T0.“DocDate” >= ‘20090101’
Ya hice el intento, si pongo ese codigo, me busca una tabla que tenga el nombre de FAMILIA, y esa tabla no existe en la base de datos. Debe ser alguna sintaxis para llamar una variable temporal durante la ejecucion de la consulta.
tienes acceso a Hana Studio? puedes buscar todas las coincidencias de familia
Es que no hay coincidencias, me imagino que por eso, en la consulta que esta hecha en MSSQL la nombran como @FAMILIA porque es alguna variable temporal que usan para relacionar tablas solo durante la ejecucion de este codigo y nada mas. Por eso pienso que es la sintaxis para el uso de variables o tablas temporales en Hana sql.
Ok enMSSQL puedes checar que hace familia, para tratar de emularlo en hana
Entiendo, hare la revision del resultado en MSSQL. Gracias por la ayuda! y comento los resultados.
Este tema se cerró automáticamente 7 días después de la última publicación. No se permiten nuevas respuestas.