Tabla SQL
Collection: SQLCommunity Edition+Introducción
Escribir una consulta SQL forma una tabla SQL. No crea una tabla de base de datos real, sino que lee los resultados de la consulta para que puedan utilizarse en tablas, detalles, gráficos y flujos de trabajo. Casos de uso: datos resumidos e informes estadísticos.
Las tablas SQL solo admiten sentencias SELECT o sentencias WITH ... SELECT. Solo permiten consultar y mostrar datos; no admiten crear, editar ni eliminar datos.
Crear una tabla SQL
- Haz clic en el menú de fuentes de datos de las funciones del sistema para acceder a la página principal de fuentes de datos.
- Selecciona la fuente de datos Main en la lista de fuentes de datos y haz clic en la acción «Configure» para acceder a la base de datos principal.
- En la administración de la base de datos principal, haz clic en «Create collection» y selecciona «SQL collection».

Escribir una consulta SQL
Introduce la consulta SQL y haz clic en «Execute» para ejecutarla e intentar analizar los campos devueltos y las tablas de datos de origen. Haz clic en «Execute» únicamente para ejecutar la vista previa y analizar los campos. Después de confirmar que la consulta SQL es válida, haz clic en «Confirm» para que el formulario pueda enviarla como consulta confirmada.

Source collections son las tablas de datos de origen inferidas a partir de la consulta SQL. Identifica de qué tablas de datos existentes proceden principalmente los campos de los resultados de la consulta y limita las opciones disponibles de Field source durante el mapeo de campos.
El resultado de la inferencia sirve para facilitar una configuración rápida. Si la consulta SQL contiene alias, subconsultas, campos calculados, funciones de agregación o joins complejos, el resultado puede no ser completamente preciso o no se podrá inferir. En ese caso, puedes especificar manualmente Source collections.
Mapeo de campos
El mapeo de campos es una configuración que debe confirmarse después de crear una tabla SQL. Los resultados de la consulta SQL solo indican a NocoBase qué columnas se han devuelto. Para que estas columnas puedan utilizarse como campos normales en la interfaz, también debes confirmar Field source o configurar Field interface y el nombre visible del campo.
Más información sobre la configuración de campos

Por ejemplo, si la consulta SQL devuelve customers.name as customer_name y este procede del campo «Nombre del cliente» de la tabla de clientes, puedes mapearlo al campo correspondiente de la tabla de clientes. De este modo, NocoBase reutilizará el título y la configuración de interfaz del campo original.
Si el campo procede de un resultado calculado, como count(*) as total o sum(amount) as amount_total, normalmente no existe un campo de origen claro, por lo que debes seleccionar manualmente un Field interface adecuado.
Field source depende de Source collections. El campo de origen disponible en la tabla de mapeo solo aparecerá después de seleccionar la tabla de datos de origen.
Cuando la inferencia de campos incluye Field source, NocoBase reutilizará preferentemente el Field interface del campo de origen. Si no se puede inferir el campo de origen, puedes especificar manualmente Field source; si el resultado de la inferencia no coincide con el significado del negocio, debes eliminar Field source y especificar manualmente Field source, o seleccionar manualmente Field interface y configurar Field display name.
Identificador único del registro
La tabla SQL debe tener configurado un Record unique key; de lo contrario, no se podrán crear bloques en la página ni consultar correctamente los registros. Puedes seleccionar un solo campo o una combinación de varios campos como identificador único. Los campos adecuados como Record unique key suelen cumplir estas condiciones:
- Cada fila de los resultados de la consulta es única
- El valor del campo es estable y no cambia debido a la paginación, el orden o cambios en los criterios estadísticos
- El campo no está vacío
- El campo siempre se devuelve en los resultados de la consulta
Si los resultados proceden de una sola tabla, puedes devolver preferentemente la clave primaria de la tabla original. Si proceden de un join entre varias tablas o de una agregación, puedes conservar en la consulta SQL un ID de negocio estable o devolver varios campos que permitan localizar conjuntamente el registro.
No utilices valores como row_number(), que cambian con el orden, los filtros o el intervalo estadístico, como Record unique key estable a largo plazo. Si cambia el identificador único del registro, es posible que los bloques de página, los permisos, los flujos de trabajo y las API externas no puedan localizar el mismo registro.
Vista previa de los resultados de la consulta
Antes de enviarla, utiliza Preview para consultar los resultados de la consulta SQL. Durante la vista previa, comprueba especialmente:
- Que la consulta SQL se ejecute correctamente
- Que los campos devueltos estén completos
- Que el Field interface y el nombre visible sean coherentes con el significado del negocio
- Que exista un Record unique key y que los datos sean únicos
- Que los resultados de la consulta sean adecuados para mostrarse en la página

Configurar campos
Después de crear la tabla SQL, haz clic en «Configure fields» a la derecha de la tabla SQL en la lista de tablas de datos para acceder a la página de configuración de campos. La configuración de campos se utiliza para mantener los campos de la tabla SQL, definir cómo se muestran en la interfaz y establecer cómo se mapean los resultados de la consulta SQL a los Field interface de NocoBase. Más información sobre la configuración de campos
Cambiar el tipo de interfaz de usuario
Después de crear la tabla SQL, todavía puedes ajustar la configuración de interfaz de los campos desde la configuración de campos. Esta página se utiliza principalmente para cambiar el Field interface, modificar el nombre visible y la descripción, y configurar opciones específicas del campo.

Es adecuado gestionar aquí los siguientes casos:
- Al crear la tabla SQL, el Field interface configurado no era correcto
- El nombre visible del campo no se ajusta al uso habitual del negocio y debe cambiarse por un nombre más comprensible
- El significado del negocio del campo de los resultados de la consulta ha cambiado y es necesario volver a confirmar la forma de mostrarlo
- Es necesario ajustar la descripción o la configuración específica del campo, como las opciones desplegables
Synchronizar desde la base de datos
Si la consulta SQL no ha cambiado, pero la estructura de la tabla de datos subyacente o sus campos sí, puedes acceder a «Configure fields» y hacer clic en «Sync from database» para volver a ejecutar la consulta SQL y sincronizar los campos. Consulta el mapeo de campos en «Crear una tabla SQL».

Editar campos
Haz clic en «Edit» a la derecha de un campo para editar su configuración. Editar un campo resulta útil para ajustar cómo se muestra y utiliza en NocoBase, por ejemplo, para modificar el nombre visible, la descripción, las reglas de validación o la configuración específica del campo. Más información sobre la configuración de campos
Editar la configuración de un campo no modifica la consulta SQL, el nombre del campo de la tabla de origen, la definición del campo de origen ni los índices de la base de datos. Si necesitas ajustar las columnas reales de los resultados de la consulta, modifica primero la consulta SQL y, después, vuelve a ejecutarla y sincroniza los campos.
Eliminar campos
Haz clic en «Delete» a la derecha de un campo para eliminarlo. Eliminar un campo solo quita el campo guardado en NocoBase; no elimina la consulta SQL ni la columna real de la tabla de datos de origen. Más información sobre la configuración de campos
Eliminar un campo puede afectar a los bloques de página, las condiciones de filtrado, el orden, los permisos, los flujos de trabajo, la API y las configuraciones existentes. Antes de eliminarlo, confirma que el campo ya no se utiliza. Si la consulta SQL sigue devolviendo esa columna, NocoBase podría volver a identificarla al ejecutar posteriormente «Sync from database».
Editar una tabla SQL
En la lista de tablas de datos, haz clic en «Edit» a la derecha de una tabla SQL para ajustar sus metadatos y configuración de ejecución en NocoBase. Las opciones de configuración son básicamente las mismas que al crear una tabla SQL; solo Collection name no se puede modificar.
Si la consulta SQL cambia, debes volver a hacer clic en «Execute» y confirmar el mapeo de campos, el Record unique key y los resultados de la vista previa.

Modificar la consulta SQL puede provocar cambios en los nombres de los campos, el mapeo de campos o el Record unique key. Después de modificarla, comprueba de nuevo que los bloques de página, los gráficos, los permisos y los flujos de trabajo sigan funcionando correctamente.
Eliminar una tabla SQL
En la lista de tablas de datos, haz clic en «Delete» a la derecha de la tabla SQL. Esto solo elimina la configuración y los campos de la tabla SQL en NocoBase; no elimina la tabla de origen subyacente ni los datos que contiene. También puedes seleccionar varias tablas y eliminarlas conjuntamente. Antes de eliminarlas, comprueba si los bloques de página, los gráficos, los permisos, los flujos de trabajo y las API externas siguen utilizando esta tabla SQL.

