AYUDA EN LÍNEA
 WINDEVWEBDEV Y WINDEV MOBILE

Este contenido se ha traducido automáticamente.  Haga clic aquí  para ver la versión en inglés.
Ayuda / ¿Cómo proceder? / Editor de consultas
  • Presentación
  • Consulta SQL TOP 10 en el editor de consultas
  • Consulta SQL con "TOP n" mediante programación
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaReportes y ConsultasCódigo de Usuario (UMC)
WEBDEV
WindowsLinuxPHPWEBDEV - Código Navegador
WINDEV Mobile
AndroidWidget Android iPhone/iPadIOS WidgetApple WatchMac CatalystUniversal Windows 10 App
Otros
Procedimientos almacenados
Presentación
Para realizar una consulta TOP 10 con los 10 mejores registros de un archivo de datos, puede crear un bucle y set una condición para salir del bucle después de 10 iteraciones.
El mejor método para realizar esta consulta TOP 10 consiste en utilizar una consulta SQL.
Veamos cómo realizar una consulta TOP 10 utilizando:
Este método puede aplicarse a una consulta TOP 3 o a cualquier otra consulta TOP correspondiente a una selección de los primeros o últimos N resultados.
Consulta SQL TOP 10 en el editor de consultas
Esta consulta se utiliza para realizar un TOP 10, lo que significa que los 10 mejores resultados de una selección de registros procedentes de un archivo de datos.
En este ejemplo, vamos a realizar el TOP 10 para las mejores 10 órdenes.
Los pasos para crear esta consulta SQL con filtro son los siguientes:
  1. Haga clic en nuevo en los botones de acceso rápido.
    • En la ventana que se muestra, haga clic en "Consultas".
    • El asistente de creación de consultas se abre.
  2. Seleccione crear una consulta de selección (opción "Selección (SELECT)").
    Asistente de creación de consultas

    Pase a la etapa siguiente del asistente.
  3. La ventana de descripción de la consulta se abre.
  4. Dar un nombre y una leyenda a la consulta:
    Nombre y título de la consulta
  5. En la parte izquierda de la ventana de description, elija los elementos del fichero que se utilizarán (en nuestro ejemplo, el fichero ORDER y los elementos OrderNum y TotalIOT).
  6. Haga doble clic en los nombres de los elementos para añadirlos a la lista de elementos de consulta:
    Selección de artículos
  7. A TOP se basa en una especie de. En el ejemplo, vamos a ordenar las órdenes en el ítem TotalIOT en orden descendente. Para aplicar una ordenación, haga clic en "Ordenar" en la sección derecha del editor.
    clasificar
  8. Seleccione "Ordenar por el elemento seleccionado" en el menú que aparece.
  9. En la ventana que aparece:
    • Seleccione el orden de clasificación ("Descendente" en nuestro ejemplo).
      Elegir el orden de clasificación
    • Validar.
  10. Para crear una consulta TOP, haga clic en "La primera n..." en la sección derecha del editor.
    Primera N
  11. En la ventana que aparece:
    • Seleccione la opción "Seleccionar los primeros registros (TOP)".
    • Especifique el número de registros a seleccionar (en nuestro ejemplo, 10 para una TOP 10).
      Configuración de TOP
  12. Validar la ventana.
  13. Valide la ventana de descripción de la consulta. La consulta se muestra en el editor:
    Visualización de la consulta en el editor
  14. Guardar la consulta (Ctrl + S).
  15. Presione F2 para ver el código SQL:
    Código SQL de la consulta
  16. Ejecutar la prueba de consulta (GO en los botones de acceso rápido).
  17. La consulta puede ser ejecutada en el programa por HExecuteQuery.
Consulta SQL con "TOP n" mediante programación
Las consultas SQL pueden escribirse directamente mediante programación en el código WLanguage. Para ello, es necesario:
  1. Crear una Variable de tipo Fuente de datos para representar la consulta en tiempo de ejecución.
  2. Crear una cadena de caracteres Variable para contener el código SQL de la consulta y escribir el código SQL en este Variable.
  3. Ejecute la consulta SQL con HExecuteSQLQuery.
  4. Explore el resultado con las funciones HReadXXX.
Ejemplo de código
Src1 is Data Source
sSQLCode is string
 
// Select the best 5 customers according to the sum of orders ...
sSQLCode = [
SELECT TOP 5
CUSTOMER.CustomerNum AS CustomerNum,
CUSTOMER.CustomerName AS CustomerName,
CUSTOMER.City AS City,
SUM(ORDERS.TotalIOT) AS the_sum_TotalIOT
FROM
CUSTOMER,
ORDERS
WHERE
CUSTOMER.CustomerNum = ORDERS.CustomerNum
 
GROUP BY
CUSTOMER.CustomerNum,
CUSTOMER.CustomerName,
CUSTOMER.City
ORDER BY
the_sum_TotalIOT DESC
]
 
HExecuteSQLQuery(Src1, hQueryDefault, sSQLCode)
FOR EACH Src1
Trace(Src1.CustomerNum, Src1.CustomerName, Src1.City)
END
Versión mínima requerida
  • Versión 9
Esta página también está disponible para…
Comentarios
Haga clic en [Agregar] para publicar un comentario

Última modificación: 27/05/2022

Señalar un error o enviar una sugerencia | Ayuda local