La selección de campos desde una fuente de datos ODBC o proveedor OLE DB se hace mediante sentencias SQL SELECT estándar. Sin embargo, si las sentencias SELECT son aceptadas o no, depende del driver ODBC o proveedor OLE DB empleado.
[ (Inner | Left | Right | Full) jointablenameonfieldref = fieldref ]
Además, a veces se pueden concatenar varias sentencias SELECT en una sola mediante el uso de un operador union:
selectstatement Union selectstatement
La sentencia SELECT es interpretada por el driver ODBC o proveedor OLE DB, así que podrían ocurrir desviaciones de la sintaxis SQL general dependiendo de las capacidades de los drivers ODBC o el proveedor OLE DB, por ejemplo:
as a veces no se permite, aliasname debe ir inmediatamente después de fieldname.
as a veces es obligatorio si se usa un aliasname.
distinct, as,where, group by, order by o union a veces no se permiten.
El driver ODBC a veces no acepta todos los tipos de comillas listados arriba.
Nota informativaPor favor, tenga en cuenta que no se trata de una descripción exhaustiva de la sentencia SQL SELECT. Por ej. Las sentencias SELECT pueden anidarse, pueden hacerse varios join en una sentencia SELECT, el número de funciones permitidas en expresiones a veces es muy grande, etc...
Argumentos:
Argumentos de Select
Argumento
Descripción
distinct
distinct es un predicado que se utiliza si las combinaciones duplicadas de valores en los campos seleccionados sólo debieran cargarse una vez.
distinctrow
distinctrow es un predicado que se utiliza si los registros duplicados en la tabla de origen sólo debieran cargarse una vez.
fieldlist
fieldlist ::= (*| field ) {, field }
Una lista de los campos que se van a seleccionar. El asterisco * indica la totalidad de campos de la tabla.
fieldlist ::= field {, field }
Una lista de uno o más campos, separados por comas.
field ::= ( fieldref | expression ) [as aliasname ]
La expresión puede ser una función numérica o de cadena basada en uno o varios campos. Algunos de los operadores y funciones aceptados normalmente son: +, -, *, /, & (concatenación de cadenas), sum(fieldname), count(fieldname), avg(fieldname)(average), month(fieldname), etc. Vea la documentación del driver ODBC para más información.
fieldref ::= [ tablename. ] fieldname
Las cadenas tablename y fieldname son cadenas de texto idénticas a lo que su propio nombre indica. Deben estar entre comillas dobles rectas si contienen p.ej. espacios.
La cláusula as se usa para asignar un nombre nuevo al campo.
from
tablelist ::= table {, table }
La lista de las tablas de las que se van a seleccionar los campos.
where es una cláusula que sirve para establecer si un registro debe ir incluido en la selección o no.
criterion es una expresión lógica que a veces puede ser muy compleja. Algunos de los operadores aceptados son: operadores numéricos y funciones, =, <> o #(no igual), >, >=, <, <=, and, or, not, exists, some, all, in y también nuevas sentencias SELECT. Vea la documentación del driver ODBC o proveedor OLE DB si desea más información.
group by
group by es una cláusula que sirve para agregar (agrupar) varios registros en uno. Dentro de un grupo, para un determinado campo, todos los registros deben tener el mismo valor, o el campo sólo podrá utilizarse desde dentro de una expresión, p.ej. como una suma o una media. La expresión basada en uno o varios campos se define en la expresión del símbolo de campo.
having
having es una cláusula que sirve para calificar grupos de la misma manera que se usa la cláusula where para calificar registros.
order by
order by es una cláusula que se emplea para establecer el criterio de ordenación de la tabla resultante de la sentencia SELECT.
join
join es un cualificador que establece si varias tablas se van a unir en una. Los nombres de campo y los nombres de tabla deben estar entre comillas si contienen espacios en blanco o letras de los juegos de caracteres nacionales. Cuando el script es generado automáticamente por QlikView, las comillas empleadas serán las preferidas por el driver ODBC u OLE DB, según lo especificado en la definición de la fuente de datos de la sentencia Connect.
Ejemplo 1:
SELECT *
FROM `Categories`;
Ejemplo 2:
SELECT `Category
ID`, `Category Name` FROM `Categories`;
Ejemplo 3:
SELECT `Order
ID`, `Product ID`,
`Unit Price`
* Quantity * (1-Discount) as NetSales
FROM `Order
Details`;
Ejemplo 4:
SELECT `Order
Details`.`Order ID`,
Sum(`Order
Details`.`Unit Price` * `Order Details`.Quantity) as `Result`
FROM `Order
Details`, Orders
where Orders.`Order
ID` = `Order Details`.`Order ID`
No dude en indicarnos en qué podemos mejorar si encuentra algún problema en esta página o su contenido, como, por ejemplo, errores tipográficos, pasos que falta o errores técnicos.
Únase al Programa de modernización de la analítica
Modernícese sin comprometer sus valiosas aplicaciones de QlikView con el Programa de modernización de la analítica. Haga clic aquí para obtener más información o contactar con nosotros: ampquestions@qlik.com