Cerchi un modo per filtrare le tue righe da una tabella di database SQL, MySQL o MariaDB con colonne identiche? Cerchi una Query per giocare su console?
Di recente ho attraversato una situazione in cui era necessario filtrare su una tabella di database e visualizzare solo righe con due colonne con gli stessi valori di testo. Dopo ore di ricerca ho trovato la soluzione semplice e la sto condividendo con voi.
Non sono un programmatore e credo che la maggior parte delle persone che cercano questi suggerimenti non abbiano nemmeno un gran senso del codice.
Uso spesso il programma Navicat per modificare i database, è abbastanza veloce e conveniente, oltre a permetterti di modificare righe e colonne con la stessa libertà di Microsoft Excel o Apple Numbers.
La maggior parte delle persone usa PhpmyAdmin per gestire i database del proprio sito web. Entrambi consentono di eseguire script tramite la scheda SQL o Query.
Utilizzo della query SQL per filtrare
Dato che non sono un professionista del database, non sapevo che fosse possibile visualizzare tabelle filtrate tramite un codice di query, ma fortunatamente l'ho scoperto.
Il mio uso del database è interamente per eliminare righe, cercare testi e usare il Search and Replace, non avevo idea che i codici SQL fossero così utili.
Io ho personalmente utilizzato questi codici per verificare errori di traduzione e trovare righe che non sono state tradotte nelle tabelle del database di Translatepress.

Codice di query SQL
I codici seguenti sono utili per:
- Trova righe uguali da colonne diverse;
- Trova righe diverse da colonne diverse;
- Trova contenuto uguale in due colonne;
SELECT * FROM `databasename`.`tablename` WHERE colum01 = colum02 ORDER BY `id` LIMIT 500 OFFSET 0;
Il codice che abbiamo appena visto usa WHERE colum01 = colum02 per visualizzare righe che hanno risultati uguali nelle due colonne. Il codice può essere esteso a più colonne se lo si desidera.
Se desideri aggiungere i filtri tradizionali per trovare un determinato testo, puoi estendere lo script prima di ORDER BY inserendo un AND come nel codice sottostante:
SELECT * FROM `databasename`.`tablename` WHERE colum01 = colum02 AND (`colum01` LIKE '%text%') ORDER BY `id` LIMIT 500 OFFSET 0;
Dopo AND abbiamo un codice tra parentesi che filtra il testo solo nella colonna 01. Si utilizza LIKE per trovare righe che contengono il valore filtrato o NOT LIKE per trovare righe che non contengono il valore.
Lo script può essere ulteriormente esteso utilizzando AND e altro codice. Ora per finire visualizzeremo un altro codice, ma invece di visualizzare righe con valori uguali, mostra righe con valori diversi usando
SELECT * FROM `databasename`.`tablename` WHERE colum01 != colum02 ORDER BY `id` LIMIT 500 OFFSET 0;
Spero che questo codice ti aiuti a filtrare e cercare effettivamente righe con valori uguali o diversi in colonne separate utilizzando filtri convenzionali LIKE e NOT LIKE.