SELECT DISTINCT usando INNER JOIN

SELECT DISTINCT usando INNER JOIN

SELECT DISTINCT usando INNER JOIN. En este articulo abordaremos la unión de dos tablas y obtener resultados de esa intersección usando INNER JOIN. Además, usar la cláusula DISTINCT para filtrar los resultados.

Para obtener resultados deseados debemos de realizar una consulta SQL respetando los parámetros correctos.

💣 Descarga sistemas PHP y Laravel COMPLETOS GRATIS
Recursos premium listos para usar en proyectos reales 💻
👥 +1000 desarrolladores · 🔥 Publicaciones diarias
🔥 Unirme al canal GRATIS ahora 👥 Grupo de Facebook
⏳ Enlaces disponibles por tiempo limitado
💻 Sistemas completos 🔌 Plugins PRO ⚡ Scripts listos 🔥 Recursos exclusivos

SELECT DISTINCT usando INNER JOIN
SELECT DISTINCT usando INNER JOIN

¿Como realizar la consulta SQL?

Para este ejemplo tenemos que tener dos tablas en nuestra base de datos y poder relacionar esas dos tablas con alguna columna en específico.

SELECT DISTINCT usando INNER JOIN

Vamos a crear 2 tablas e identificar los campos de unión y/o relación, veamos un ejemplo a continuación.

a) Tabla A

Esta tabla podemos agregar al ID y demás campos de usuario, hora y fecha.

table_A
TA_id | TA_user | TA_hour | TA_date

b) Tabla B

También posee una ID y campos de nombre y dirección

table_B
TB_id | TB_name | TB_adress

Una vez que tengamos bien definido las tablas y las columnas que se relacionaran podemos usar INNER JOIN para unir las tablas.

¿Cuál es el objetivo de la consulta SQL?

En este ejemplo lograremos devolver las entidades de la tabla B que tienen registros en la tabla A para una fecha determinada en la cláusula WHERE.

La cláusula DISTINCT se usa para mostrar registros distintos dentro de la consulta, probablemente una forma más precisa seria usar «GROUP BY» en su lugar porque generalmente es más rápido. Veamos la consulta SQL.

SELECT DISTINCT table_B.TB_name
   FROM table_A 
     INNER JOIN table_B
       ON table_B.TB_id = table_A.TA_user
   WHERE TA_date LIKE '%$vardate%'
   ORDER BY TA_user ASC;

Explicación de la consulta SQL

Hemos usado la cláusula LIKE sirve para buscar registros en una base de datos. Sin embargo, para un resultado más preciso se podría usar la siguiente instrucción SQL.

WHERE TA_date = date('$vardate')

Con esta consulta SQL podemos obtener resultados más precisos cuando de fechas se trata, en el caso que sea textos a buscar ahí si se recomienda usar LIKE.

SELECT DISTINCT TA_user
FROM table_A INNER JOIN
     table_B
     ON table_B.id = table_A.TA_user
WHERE TA_date = date('$vardate')
ORDER BY TA_user ASC;

Recordemos que para la variable de filtro podemos usar $vardate tenga el formato «YYYY-MM-DD» para garantizar una conversión adecuada. Mejor aún, conviértalo en un parámetro en lugar de una constante incrustada.

CONCLUSIÓN

En este articulo hemos realizado un ejemplo usando la cláusula INNER JOIN y DISTINCT para filtrar la información de la base de datos.

La información devuelta de la base de datos podemos plasmarlo en un bucle por ejemplo FOREACH para observar una tabla con registros.

Para dinamizar los valores de filtro podemos apoyarnos de un formulario haciendo uso del método POST o el método GET y haciendo uso de una variable ingresar el valor a la consulta SQL.

¿De cuánta utilidad te ha parecido este contenido?

¡Haz clic en una estrella para puntuarlo!

Promedio de puntuación 5 / 5. Recuento de votos: 1

Hasta ahora, ¡no hay votos!. Sé el primero en puntuar este contenido.

Leave a comment

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *