Otra consulta que puede resultar de interés es aquella que nos permite identificar dentro de los registros de una tabla cuáles son los que están duplicados y así poder, por ejemplo, eliminarlos o cambiarlos.
¿Alguna idea de cómo conseguir esto?....
Piénsalo un poco más... ;-)
Solución:
SELECT nombre_campo, COUNT(*) FROM Nombre_Tabla GROUP BY Nombre_Campo HAVING COUNT(*) > 1
Esta vale para cualquier gestor de datos y permite obtener los resultados agrupados por el campo que queramos para localizarlos más fácil.
El otro día seme planteó el siguiente problema: ¿cómo puedo hacer para obtener con una consulta SQL un número 'N' de registros elegidos aleatoriamente dentro de una tabla con miles de registros?
En SQL Server hay, por lo menos, dos formas de hacerlo.
- Consulta 1: la complicada
SELECT TOP N * FROM Nombre_Tabla ORDER BY RAND( (@@IDLE % IDENTITYCOL ) + DATEPART( ms , CURRENT_TIMESTAMP ) + IDENTITYCOL)
De este modo se devuelven N identificadores de la tabla elegidos aleatoriamente. Lo que hace es coger un valor aleatorio en cada "vuelta" para un valor autonumérico que actúa como clave primaria de la tabla. Esto no es problema casi nunca ya que la mayor parte de las tablas suelen poseer un campo de este tipo. Sin embargo...
- Consulta 2: más sencilla y genérica
SELECT TOP N * FROM Nombre_Tabla ORDER BY NewID()
Este método como se ve no presupone nada y sirve incluso para tablas sin clave primaria y para consultas cruzadas con otras tablas.
Interesante ¿verdad?
Web Services Enhancements 2.0 (WSE 2.0) es el paquete para .NET que permite crear servicios Web avanzados siguiendo las propuestas para estándares en seguridad, enrutado, etc... que marca el W3C. WSE es casi indispensable para la creación de aplicaicones empresariales serias que se basen en Servicios Web. Puedes encontrar una introducción aquí.
Microsoft acaba de liberar el Service Pack 3.0 para WSE 2.0. Este parche trae algunas correciones relativas al uso de certificados digitales X.509 y testigos de autenticación, y cambia la forma de trabajar de algunas características. Puedes leer todos los cambios aquí.
El paquete así como su documentación y distribuíbles se pueden obtener gratuitamente desde la dirección http://msdn.microsoft.com/webservices/building/wse/.