Having

Solo disponible en BuenasTareas
  • Páginas : 2 (294 palabras )
  • Descarga(s) : 0
  • Publicado : 21 de agosto de 2012
Leer documento completo
Vista previa del texto
HAVING
*Especifica una condición de búsqueda para un grupo o agregado. HAVING solo se puede utilizar con la instrucción SELECT. Normalmente, HAVING se utiliza en una cláusula GROUP BY. Cuando no seutiliza GROUP BY, HAVING se comporta como una cláusula WHERE.
Sintaxis
[ HAVING <search condition> ]
Argumentos

<search_condition>
Especifica la condición de búsqueda del grupo odel agregado que se debe cumplir.
No se pueden utilizar los tipos de datos text, image y ntext en una cláusula HAVING.
 Ejemplos

En el ejemplo siguiente, donde se utiliza unacláusula HAVING simple, se recupera el total de cada SalesOrderID de la tabla SalesOrderDetail que exceda$100000.00.E
Transact-SQL
USE AdventureWorks2012 ;
GO
SELECTSalesOrderID, SUM(LineTotal) AS SubTotal
FROM Sales.SalesOrderDetail
GROUP BY SalesOrderID
HAVING SUM(LineTotal) > 100000.00
ORDER BYSalesOrderID ;
*La consulta SQL HAVING es utilizada junto con SELECT para especificar una condición de búsqueda para un grupo.

HAVING se comporta como WHERE, pero se aplica a grupos (las filas otuplas en el conjunto de resultados representan grupos). La cláusula WHERE se aplica a filas o tuplas individuales, NO a grupos.

Veamos un ejemplo de una tabla de ventas con la siguienteinformación: VentaPrecio, NombreCliente

Los datos son los siguientes: 
250 - Juan 
190 - Patricio 
500 - Hernesto
420 - Susana
1000 - Maria
1000 - Juan
2000 - Patricio

Para obtener el cuadroanterior, obtuvimos la lista de todos los clientes junto con el monto respectivo de la venta usando la siguiente sentencia SQL:

SELECT NombreCliente, SUM(VentaPrecio) FROM Ventas
GROUP BY NombreCliente;Ahora queremos seleccionar los clientes que han gastado más de 1200, para hacer esto utilizamos la HAVING así:

SELECT NombreCliente, SUM(VentaPrecio) FROM Ventas
GROUP BY NombreCliente...
tracking img