ArcGIS Desktop

  • Documentación
  • Soporte

  • My Profile
  • Ayuda
  • Sign Out
ArcGIS Desktop

ArcGIS Online

La plataforma de representación cartográfica para tu organización

ArcGIS Desktop

Un completo SIG profesional

ArcGIS Enterprise

SIG en tu empresa

ArcGIS for Developers

Herramientas para crear aplicaciones basadas en la ubicación

ArcGIS Solutions

Plantillas de aplicaciones y mapas gratuitas para tu sector

ArcGIS Marketplace

Obtén aplicaciones y datos para tu organización.

  • Documentación
  • Soporte
Esri
  • Iniciar sesión
user
  • Mi perfil
  • Cerrar sesión

ArcMap

  • Inicio
  • Introducción
  • Cartografiar
  • Analizar
  • Administrar datos
  • Herramientas
  • Extensiones

Crear tabla de consulta

  • Resumen
  • Uso
  • Sintaxis
  • Muestra de código
  • Entornos
  • Información sobre licencias

Resumen

Esta herramienta aplica una consulta SQL a una base de datos y los resultados se representan en una capa o vista de tabla. La consulta se puede utilizar para unir varias tablas o para devolver un subconjunto de columnas o filas desde los datos originales de la base de datos.

Esta herramienta acepta datos de una geodatabase de ArcSDE, una geodatabase de archivos, una geodatabase personal o una conexión OLE DB.

Uso

  • La capa creada por la herramienta es temporal y, una vez finalizada la sesión, no permanece en el sistema a menos que se guarde el documento.

  • Todas las tablas o clases de entidad de entrada deben ser del mismo espacio de trabajo de entrada.

  • Si una columna Forma se agrega a la lista de campo, el resultado es una capa; de otro modo, es una vista de tabla.

  • Si el resultado de salida es una capa, puede persistir en un archivo de capa utilizando la herramienta Guardar en archivo de capa o en una clase de entidad utilizando la herramienta Copiar entidades.

  • El orden de los campos en la lista de campos indica el orden en que aparecerán los campos en la capa o vista de tabla de salida.

  • La herramienta le permite brindar una opción de campo clave y una lista de campos clave. Esta información define cómo las filas se identifican unívocamente y se utiliza para agregar a los datos una columna de ObjectID generada dinámicamente. Sin una columna de ObjectID, no se admitirán selecciones.

  • La lista de campos clave permite elegir varias columnas si se necesita la combinación de estas columnas para definir valores únicos.

  • Si se utiliza una expresión SQL pero no devuelve registros que coinciden, la clase de entidad de salida estará vacía.

  • Las clases de entidades se pueden unir, pero la lista de campos debe contener como mucho un campo de geometría de tipo. Si agrega más de una columna de geometría, la herramienta mostrará un error cuando haga clic en Aceptar y la ejecución se detendrá.

  • Para obtener detalles sobre la sintaxis del parámetro Expresión, consulte Generar una expresión SQL o Referencia de SQL.

  • El botón Agregar campo de los parámetros Campos y Campos clave se utiliza sólo en ModelBuilder. En ModelBuilder, donde no se ejecutó la herramienta anterior, o sus datos derivados no existen, es probable que los parámetros Campos y Campos clave no se completen con nombres de campo. El botón Agregar campo le permite agregar campos esperados para que pueda completar el cuadro de diálogo Realizar tabla de consultas y continuar creando el modelo.

  • Cuando las tablas de entrada pertenecen a una geodatabase de archivos, las tablas generalmente se unen en el orden enumerado en el parámetro Tablas de entrada. Por ejemplo, si la Tabla 1 se encuentra enumerada antes de la Tabla 2, la Tabla 2 se unirá obteniendo una fila de la Tabla 1, luego obteniendo las filas coincidentes de la Tabla 2. Sin embargo, si esto resultara en la consulta sobre un campo no indexado de la Tabla 2 e invertir el orden resultara en la consulta sobre un campo indexado de la Tabla 1, el orden se invertiría en un intento por maximizar el rendimiento. Esta es la única lógica de optimización de consulta posible cuando está utilizando datos de geodatabase de archivos con esta herramienta. En general, las uniones en las geodatabases de archivos funcionan mejor cuando son de uno a muchos y de uno a uno.

Sintaxis

MakeQueryTable_management (in_table, out_table, in_key_field_option, {in_key_field}, {in_field}, {where_clause})
ParámetroExplicaciónTipo de datos
in_table
[in_table,...]

Nombre de la tabla o tablas que se utilizarán en la consulta. Si se enumeran varias tablas, el parámetro Expresión se puede utilizar para definir cómo se deberán unir.

La tabla de entrada puede provenir de una geodatabase de ArcSDE, una geodatabase de archivos, una geodatabase personal o una conexión OLE DB.

Table View; Raster Layer
out_table

Nombre de la vista de tabla o capa que será creado por la herramienta.

Table View;Raster Layer
in_key_field_option

Indica cómo se generará un campo de ObjectID, de hacerlo, para la consulta. El valor predeterminado es USE_KEY_FIELDS.

  • USE_KEY_FIELDS —Esto indica que los campos elegidos en la lista de campos clave se deberán utilizar para definir la columna de ObjectID dinámica. Si no hay campos elegidos en la lista de campos clave, se aplica automáticamente la opción ADD_VIRTUAL_KEY_FIELD.
  • ADD_VIRTUAL_KEY_FIELD —Esta opción indica que no se han elegido campos clave, pero que se generará una columna de ObjectID dinámica. Esto se realiza copiando los datos a un espacio de trabajo local, administrado por el sistema, y agregando a la copia un campo con valores únicos. A continuación, la vista de tabla o capa puede acceder a la copia y utilizar el campo agregado como campo clave.
  • NO_KEY_FIELD —Esta opción indica que no se generará una columna de ObjectID dinámica. Elegir esta opción significa que no se admitirán selecciones para la vista de tabla. Si ya existe una columna de tipo ObjectID en la lista de campos, se utilizará como el Id. de objeto incluso si se elige esta opción.
String
in_key_field
[in_key_field,...]
(Opcional)

Especifica un campo o una combinación de campos que se pueden utilizar para identificar una fila de la consulta como única. Este parámetro se utiliza sólo cuando se encuentra establecida la opción USE_KEY_FIELDS.

El botón Agregar campo, que se utiliza solo en ModelBuilder, le permite agregar los campos esperados para que pueda completar el cuadro de diálogo y continuar creando el modelo.

Field
in_field
[[Field, {Alias}],...,...]
(Opcional)

Campos que se incluirán en la vista de tabla o capa. Si se establece un alias para un campo, este es el nombre que aparece. Si no se especifican campos, se incluyen todos los campos de todas las tablas.

Value Table
where_clause
(Opcional)

Una expresión SQL utilizada para seleccionar un subconjunto de registros. Para obtener más información sobre la sintaxis de SQL, consulte el tema de ayuda Referencia SQL para las expresiones de consulta utilizadas en ArcGIS.

SQL Expression

Muestra de código

Ejemplo de MakeQueryTable (ventana de Python)

La siguiente secuencia de comandos de la ventana de Python demuestra cómo utilizar la función MakeQueryTable en el modo inmediato.

import arcpy
arcpy.env.workspace = "C:/data/data.gdb"
arcpy.MakeQueryTable_management (["Counties","codemog"], "queryout","ADD_VIRTUAL_KEY_FIELD", "",
                   [["Counties.OBJECTID", 'ObjectID'],["Counties.NAME", 'Name'],
                    ["codemog.Males", 'Males'], ["codemog.Females", 'Females']],
                   "Counties.FIPS = codemog.Fips and Counties.STATE_NAME = 'California'")
Ejemplo 2 de MakeQueryTable (secuencia de comandos independiente)

La siguiente secuencia de comandos es un ejemplo de cómo utilizar la herramienta MakeQueryTable en el entorno de secuencias de comandos de Python.

# MakeQueryTableOLEDB.py
# Description: Create a query table from two OLE DB tables using a limited set of
#               fields and establishing an equal join.
 
# Import system modules
import arcpy
 
try:
    # Local variables...
    tableList = ["Database Connections/balrog.odc/vtest.COUNTIES",\
                 "Database Connections/balrog.odc/vtest.CODEMOG"]
    
    fieldList = [["vtest.COUNTIES.OBJECTID", 'ObjectID'],["vtest.COUNTIES.NAME", 'Name']\
                 ["vtest.CODEMOG.Males", 'Males'],["vtest.CODEMOG.Females", 'Females']]
    whereClause = "vtest.COUNTIES.FIPS = vtest.CODEMOG.Fips" +\
                  "and vtest.COUNTIES.STATE_NAME = 'California'"
    keyField = "vtest.COUNTIES.OBJECTID"
    lyrName = "CountyCombined"
    # Make Query Table...
    arcpy.MakeQueryTable_management(tableList, lyrName,"USE_KEY_FIELDS", keyField, fieldList, whereClause)
 
    # Print the total rows
    print(arcpy.GetCount_management(lyrName))
 
    # Print the fields
    Fields = arcpy.ListFields(lyrName)
    for field in Fields:
        print(Field.name)
        
 
    # Save as a dBASE file
    arcpy.CopyRows_management(lyrName, "C:/temp/calinfo.dbf")
 
except Exception as err:
    print(err.args[0])

Entornos

  • Espacio de trabajo actual

Información sobre licencias

  • ArcGIS Desktop Basic: Sí
  • ArcGIS Desktop Standard: Sí
  • ArcGIS Desktop Advanced: Sí

Temas relacionados

  • Vista general del conjunto de herramientas Vistas de capas y tabla
  • Utilizar vistas de capas y tabla
  • Trabajar con vistas de capas y tabla
  • Ejemplos de consultas con la herramienta Crear tabla de consulta

ArcGIS Desktop

  • Inicio
  • Documentación
  • Soporte

Plataforma ArcGIS

  • ArcGIS Online
  • ArcGIS Desktop
  • ArcGIS Enterprise
  • ArcGIS for Developers
  • ArcGIS Solutions
  • ArcGIS Marketplace

Acerca de Esri

  • Quiénes somos
  • Empleo
  • Blog interno
  • Conferencia de usuarios
  • Cumbre de desarrolladores
Esri
Díganos su opinión.
© Copyright 2016 Environmental Systems Research Institute, Inc. | Privacidad | Legal