¿Busca una forma de filtrar sus filas de una tabla de base de datos SQL, MySQL o MariaDB por columnas idénticas? ¿Buscas una consulta para jugar en la consola?
Recientemente pasé por una situación en la que era necesario filtrar en una tabla de base de datos y solo mostrar filas que tenían dos columnas con los mismos valores de texto. Después de horas de búsqueda, encontré la solución simple y la comparto con ustedes.
No soy programador y creo que la mayoría de las personas que buscan estos consejos tampoco tienen mucho sentido de la programación.
Suelo utilizar el programa Navicat para editar bases de datos, es bastante rápido y práctico, además de que te permite editar filas y columnas con la misma libertad que Microsoft Excel o Apple Numbers.
La mayoría de las personas usan PhpmyAdmin para administrar las bases de datos de su sitio web. Ambos le permiten ejecutar scripts a través de la pestaña SQL o Query.
Uso de consulta SQL para filtrar
Como no soy un profesional de las bases de datos, no sabía que se pueden mostrar tablas filtradas a través de un código de consulta, pero por suerte lo descubrí.
Mi uso en la base de datos es enteramente para borrar líneas, buscar textos y usar el Buscar y reemplazar, no tenía idea de que los códigos SQL son súper útiles.
Personalmente, he usado estos códigos para verificar errores de traducción y encontrar filas sin traducir en las tablas de la base de datos de traducir prensa.
Código de consulta SQL
Los siguientes códigos son útiles para:
- Encuentra filas iguales de diferentes columnas;
- Encuentra diferentes filas de diferentes columnas;
- Encuentra el mismo contenido en dos columnas;
SELECT * FROM `databasename`.`tablename` WHERE colum01 = colum02 ORDER BY `id` LIMIT 500 OFFSET 0;
El código que acabamos de ver usa DONDE columna01 = columna02 para mostrar las filas que tienen los mismos resultados en ambas columnas. El código se puede extender a más columnas si se desea.
En caso de que desee agregar los filtros tradicionales para encontrar cierto texto, puede extender el script antes ORDENAR POR poniendo un Y como en el siguiente código:
SELECT * FROM `databasename`.`tablename` WHERE colum01 = colum02 AND (`colum01` LIKE '%text%') ORDER BY `id` LIMIT 500 OFFSET 0;
Después Y tenemos un código entre paréntesis que filtra el texto solo en la columna 01. ME GUSTA para encontrar líneas que contengan el valor filtrado o NO COMO para buscar filas que no contengan el valor.
La secuencia de comandos se puede ampliar aún más utilizando AND y otro código. Ahora para terminar vamos a mostrar otro código, pero en lugar de mostrar filas con valores iguales, muestra filas con valores diferentes usando !=.
SELECT * FROM `databasename`.`tablename` WHERE colum01 != colum02 ORDER BY `id` LIMIT 500 OFFSET 0;
Espero que este código lo ayude a filtrar y buscar filas con valores iguales o diferentes de columnas separadas utilizando filtros convencionales. ME GUSTA y NO ME GUSTA.