domingo, 19 de octubre de 2014

Buscar registros duplicados en ORACLE

Buscar registros duplicados en ORACLE

Para buscar registros duplicados en una tabla de oracle, con la siguiente consulta podremos saber cuantos registros hay duplicados por cada columna:

SELECT COL_A_COMPROBAR, COUNT(COL_A_COMPROBAR)
FROM NOMBRE_TABLA
GROUP BY COL_A_COMPROBAR
HAVING COUNT(COL_A_COMPROBAR) > 1

Tambien pueden añadir campos a la consulta para identificar mas los datos de las lineas duplicadas, solo basta con agregar las columnas separadas con una coma en el SELECT y luego respetar el orden en el group by (COL2, COL3, COL4):

SELECT COL_A_COMPROBAR, COUNT(COL_A_COMPROBAR), COL2, COL3, COL4
FROM NOMBRE_TABLA
GROUP BY COL_A_COMPROBAR,COL2, COL3, COL4
HAVING COUNT(COL_A_COMPROBAR) > 1

Añadido el 28/3/2012:

En caso de que tengamos espacios en blanco, las anteriores consultas no muestran resultados por que el valor a comprobar de la columna COL_A_COMPROBAR en el having es distinto por lo que lo considera otro registro y no encuentra la duplicidad. Para encontrar registris duplicados con espacios podemos utilizar el comando LTRIM o RTRIM segun de que lado estén los espacios (izquierda o derecha).

Espacios a la izquierda:

SELECT Ltrim (COL_A_COMPROBAR), COUNT(COL_A_COMPROBAR)


FROM NOMBRE_TABLA

GROUP BY Ltrim (COL_A_COMPROBAR)

HAVING COUNT (Ltrim (COL_A_COMPROBAR)) > 1
 
Espacios a la derecha:


SELECT Rtrim (COL_A_COMPROBAR), COUNT(COL_A_COMPROBAR)
FROM NOMBRE_TABLA
GROUP BY Rtrim (COL_A_COMPROBAR)
HAVING COUNT (Rtrim (COL_A_COMPROBAR)) > 1

martes, 23 de septiembre de 2014

CMD no me reconoce los comandos en Windows 7

cmd no me reconoce los comando w7


CMD no me reconoce los comandos en Windows 7

Resulta que hoy he ido a ejecutar una serie de comandos en la consola de Windows 7 y me encuentro que no me reconoce los comandos que intento ejecutar, comandos tipo ipconfigping, etc. El mensaje que me mostraba la consola era:
“ping” no se reconoce como un comando interno o externo, programa o archivo por lotes ejecutable.
Propiedades del sistema
Bueno, pues aquí una solución para Windows 7:
  1. Botón derecho sobre el icono Equipo y seleccionamos la opción Propiedades.
  2. Del panel izquierdo de la ventana que se nos abre seleccionamos la opción Configuración avanzada del sistema.
  3. En la ventana Propiedades del sistema, en la pestaña Opciones avanzadas pulsamos sobre el botón Variables de entorno.
  4. Aquí es donde encontramos el fallo, comprobamos que en las variables de usuario tengamos las siguientes:
    TEMP=%USERPROFILE%\AppData\Local\Temp
    TMP=%USERPROFILE%\AppData\Local\Temp
  1. A continuación en Variables del sistema comprobamos que existen las siguientes cinco variables, y si no existen las añadimos:
    ComSpec=%SystemRoot%\system32\cmd.exe
    PATH=%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;
    PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH
    TEMP=%SystemRoot%\TEMP
    TMP=%SystemRoot%\TEMP
    windir=%SystemRoot%
  2. Una vez hecho esto pulsamos Aceptar y ya podemos volver a ejecutar los comandos de nuestra CMD si problemas.
Espero que este post os sirva de ayuda para solucionar vuestro problema.
NOTA: en mi caso no llegó a ser inmediato, pero en un momento estaba operativo.
- See more at: http://www.javiercarrasco.es/2012/05/16/cmd-no-me-reconoce-los-comandos-en-windows-7/#sthash.l3acPd8g.dpuf

miércoles, 10 de septiembre de 2014

LISTAR CAMPOS ESPECIFICOS LINQ De una Tabla

LISTAR CAMPOS ESPECIFICOS LINQ 

    Pregunta

  • HOLA ESPERO ME PUEDAN COLABORAR TENGO UNA TABLA USUARIO Q TIENE 3 CAMPOS USUARIOID,NOMBRE,CLAVE
    TENGO LA SIGUIENTE CONSULTA EN LINQ, YO SOLO KIERO Q ME LISTE EL SUARIOID, Y NOMBRE.

    public IList<Tbl_Usuario> ListarUsuarios()
    {
            var resultado = from p in entidades.Tbl_Usuario        orderby p.Nombre        select p; // si le pongo p.usuarioID,p.Nombre; me saca error        return resultado.ToList();
    }
    sábado, 26 de septiembre de 2009 16:08
    Avatar de LEIDY_077
    0 Puntos

Todas las respuestas

  • Pues no creo que se pueda pues le metodo retorna una lista de la entidad Tbl_Usuario, y eso incluye todos sus campos. Pero si lo que quieres es por ejemplo omitir este campo en la visualizacion de un gridview, puedes quitar del gridview la opcion de autogenerar columnas, y no te muestra todos los campos de la lista, solo los que tu especifiques.
    domingo, 27 de septiembre de 2009 13:45
    Avatar de Roger-rgomezj
    Edatel
    (Partner)
    2,305 Puntos
  • Hola
    Desbes crearte un tipo anonimo

    public IList<Tbl_Usuario> ListarUsuarios()
    {
            var resultado = from p in entidades.Tbl_Usuario
            orderby p.Nombre
            select new 
           {
               UsuarioID,
               Nombre,
               Clave
           };
    
           return resultado.ToList();
    }
    



    Saludos
    Si la respuesta es correcta, marcala como correcta.
    Tambien puedes votar como util si te fue de ayuda
    DCE 5 ESTRELLAS PLATINO
    domingo, 27 de septiembre de 2009 20:11
    Avatar de Pedro J Marquez
    Manapro Consultores
    2,565 Puntos
  • pero para hacerlo asi no seria necesario crear el tipo anónimo, lo que ella quiere es omitir el campo clave. En caso de que se pueda crear el tipo anónimo, sin el campo clave,  si es posible retornar un tipo anonimo en un método que espera que le retornen un tipo específico??????
    domingo, 27 de septiembre de 2009 22:37
    Avatar de Roger-rgomezj
    Edatel
    (Partner)
    2,305 Puntos
  • Hola
    Tienes razon, aqui lo que hay que hacer es crear una nueva entidad entidad con los campos necesarios:

    public class Usuario
    {
       public string UsuarioID {get; set;}
       public string Nombre {get; set;}
    }
    y luego proyectar el resultado a esta entidad;
     
    public IList<Usuario> ListarUsuarios()
    {
            var resultado = from p in entidades.Tbl_Usuario
            orderby p.Nombre
            select new Usuario
           {
               UsuarioID = p.UserID,
               Nombre = p.Name
               
           };
    
           return resultado.ToList();
    }
    

    Saludos
    Si la respuesta es correcta, marcala como correcta.
    Tambien puedes votar como util si te fue de ayuda
    DCE 5 ESTRELLAS PLATINO

lunes, 14 de julio de 2014

Allow remote access to Mysql on Wamp

Permitir acceso remoto para mysql en wamServer


To allow remote access to apache on Windows change the file: c:\wamp\bin\apache\Apache2.2.17\conf\httpd.conf
You need to allow remote access to directory C:\wamp\www like this:
<Directory "c:/wamp/www/">
    ExecCGI MultiViews
    Options Indexes FollowSymLinks
    AllowOverride all

    Order allow,deny
    Allow from all

</Directory>

To grant remote access to MySQL:
use mysql;
GRANT ALL PRIVILEGES ON *.* to root@'%' IDENTIFIED BY 'sys';
flush privileges;

To see what is already allowed do this:
use mysql;
select user,host from user;
+------+-----------+
| user | host      |
+------+-----------+
| root |           |
| root | %         |
|        | localhost |
| root | localhost |
+------+-----------+
4 rows in set (0.00 sec)
“empty” places are nulls here. ‘%’ means from any host.