"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > ¿Cómo manejar registros con múltiples valores en una cláusula MySQL WHERE IN()?

¿Cómo manejar registros con múltiples valores en una cláusula MySQL WHERE IN()?

Publicado el 2024-12-23
Navegar:202

How to Handle Records with Multiple Values in a MySQL WHERE IN() Clause?

Operador MySQL IN ()

Al consultar una base de datos MySQL, el operador WHERE IN () se utiliza a menudo para recuperar filas en función de datos específicos. valores en una columna. Por ejemplo, la siguiente consulta recupera todas las filas de la tabla "tabla" donde la columna "id" coincide con cualquiera de los valores (1, 2, 3, 4):

SELECT * FROM table WHERE id IN (1,2,3,4);

Sin embargo, surge un problema cuando un registro tiene múltiples valores de "id", como 1 y 3. En tales casos, la consulta puede no devolver esa fila.

Solución

La consulta se traduce en las siguientes condiciones OR:

SELECT * FROM table WHERE id='1' or id='2' or id='3' or id='4';

Por lo tanto, solo devolverá filas que coincidan con cualquiera de estas condiciones.

Para resolver esto, una opción es usar el tipo de datos SET para la columna "id". Esto le permite almacenar múltiples valores usando cadenas separadas por comas. Luego puede usar la función FIND_IN_SET() para buscar valores específicos:

SELECT * FROM table WHERE FIND_IN_SET('1', id);

Esta consulta devolverá todas las filas que tienen '1' como uno de los valores en la columna "id", independientemente de cualquier otro valor que pueda estar presente.

Último tutorial Más>

Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.

Copyright© 2022 湘ICP备2022001581号-3