El primer paso es crear la funcion con el codigo MySql que se necesite, yo uso NAVICAT para administrar mis bases de datos.
Aca una imagen referencial. Con la flecha roja te muestro la opcion de NEW para crear una nueva funcion, y con la azul te muestro como se ve el titulo de la funcion ya guardada.
y aca te muestro al lado derecho mi codigo para este caso, y a mano izquerda donde se almacena dicha funcion dentro del arbol de NAVICAT.
Una vez echa la funcion y probada en el mismo NAVICAT, procedo a incluirla en mi consulta:
- Code: Select all Expand view
cQuery:="SELECT "
cQuery+="Art.codigo_articulo, "
cQuery+="Art.descripcion, "
cQuery+="Art.codigo_fabrica, "
cQuery+="Art.codigo_interno, "
cQuery+="Exs.codigo_presenta, "
cQuery+="Exs.existencia, "
cQuery+="Exs.codigo_color, "
cQuery+="Exs.codigo_talla, "
cQuery+="Exs.referencia, "
cQuery+="Exs.unidades_descuento,"
cQuery+="Exs.ultimo_costochar,"
cQuery+="Exs.costo_actualchar,"
cQuery+="Pres.codigo_presenta, "
cQuery+="Pres.nombre_presenta, "
cQuery+="Tall.codigo_talla, "
cQuery+="Tall.nombre_talla, "
cQuery+="Col.codigo_color, "
cQuery+="Col.nombre_color, "
cQuery+="Exs.pvp_1char, "
cQuery+="Exs.pvp_2char, "
cQuery+="Exs.pvp_3char, "
cQuery+="Art.tipo_iva, "
cQuery+="Exs.eliminado, "
cQuery+="Exs.costo_promediochar, "
cQuery+="Exs.utilidad_1, "
cQuery+="Exs.utilidad_2, "
cQuery+="Exs.utilidad_3, "
cQuery+="Art.seriales, "
cQuery+="Art.factura_negativo "
cQuery+="FROM "+cTablaArt +" AS Art, "
cQuery+= cTablaExis +" AS Exs, "
cQuery+= cT_Colores +" AS Col, "
cQuery+= cT_Tallas +" AS Tall, "
cQuery+= cT_Presenta+" AS Pres "
cQuery+="WHERE Exs.codigo_articulo = Art.codigo_articulo AND "
cQuery+= "Pres.codigo_presenta = Exs.codigo_presenta AND "
cQuery+= "Col.codigo_color = Exs.codigo_color AND "
cQuery+= "Tall.codigo_talla = Exs.codigo_talla AND Art.eliminado<>'.T.' AND Exs.eliminado<>'.T.' "
cQuery+="AND SumaExistencia( Art.codigo_articulo, Exs.codigo_presenta, Exs.codigo_color, Exs.codigo_talla ) >0 "
cQuery+="ORDER BY Art.descripcion ASC ;"
En la penultima linea, puedes ver la instruccion donde aplico la funcion. En la linea que no tiene separacion del margen.
Espero haberme explicado bien.
Saludos