Curso de SQL

Para generar este tipo de consultas lo m�s sencillo es utilizar el asistente de consultas de Access, editar la sentencia SQL de la consulta y pegarla en nuestro c�digo. No obstante este tipo de consulta se consigue de la siguiente forma:

SELECT DISTINCTROW Lista de Campos a Visualizar FROM Tabla 
WHERE CampoDeBusqueda In (SELECT CampoDeBusqueda FROM Tabla As psud�nimo 
GROUP BY CampoDeBusqueda HAVING Count(*)>1 ) ORDER BY CampoDeBusqueda; 

Un caso pr�ctico, si deseamos localizar aquellos empleados con igual nombre y visualizar su c�digo correspondiente, la consulta ser�a la siguiente:

SELECT DISTINCTROW Empleados.Nombre, Empleados.IdEmpleado 
FROM Empleados WHERE Empleados.Nombre In (SELECT Nombre FROM 
Empleados As Tmp GROUP BY Nombre HAVING Count(*)>1) 
ORDER BY Empleados.Nombre;

.�B�squeda de registros no relacionados

Este tipo de consulta se emplea en situaciones tales como saber qu� productos no se han vendido en un determinado periodo de tiempo. SELECT DISTINCTROW Productos.IdProducto, Productos.Nombre FROM Productos LEFT JOIN Pedidos ON Productos.IdProducto = Pedidos.IdProduct WHERE (Pedidos.IdProducto Is Null) AND (Pedidos.Fecha Between #01-01-98# And #01-30-98#);

La sintaxis es sencilla, se trata de realizar una uni�n interna entre dos tablas seleccionadas mediante un LEFT JOIN, estableciendo como condici�n que el campo relacionado de la segunda sea Null.

COMPARTE ESTE ARTÍCULO

COMPARTIR EN FACEBOOK
COMPARTIR EN TWITTER
COMPARTIR EN LINKEDIN
COMPARTIR EN WHATSAPP