Autor Tema: MySQL - Como obtener un registro dado una condición en registros repetidos bajo  (Leído 2128 veces)

aillyn

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 1
    • Ver Perfil
Hola, necesito ayuda:
Tengo un listado de usuarios (ID, display_name, contract_start_date, contract_end_date, current) donde el user con ID 6 correspondiente a Adriana Smith sale 2 veces pero con diferentes fechas de contratos, para lograr esto hice un left join de una tabla a otra con relacion 1 a muchos (1:m) como indica este query:

SELECT bo_users.ID, bo_users.display_name, COALESCE (bo_users_contracts.contract_start_date,'-') AS contract_start_date, COALESCE (bo_users_contracts.contract_end_date, '-') AS contract_end_date, COALESCE (bo_users_contracts.current,'-') AS current

FROM bo_users

LEFT JOIN bo_users_contracts ON bo_users.ID = bo_users_contracts.bo_users_id

LEFT JOIN bo_usermeta ON bo_users.ID = bo_usermeta.user_id

WHERE (bo_usermeta.meta_key = 'role' AND bo_usermeta.meta_value = 'member')


pero lo que quiero obtener como resultado final es q me devuelva todos los usuarios, pero de aquellos q estan repetidos solo me devuelva el registro donde la columna "current" = 1, y al final solo me quedaria como resultado los 3 usuarios Alejandro, Rhonda y Adriana con el registro donde su "current" = 1

Como le hago?
Gracias
« Última modificación: 07 de Febrero 2018, 21:27 por Ogramar »

Ogramar

  • Moderador Global
  • Experto
  • *******
  • Mensajes: 2660
    • Ver Perfil
Buenas, quizás sea tarde pero por dar una idea a quien se le plantee una situación así, pienso que una opción es crear una vista usando el gestor de base de datos que se esté empleando, por ejemplo phpMyAdmin. Una vista viene siendo una tabla creada a partir de una consulta. Para ello en phpMyAdmin se debe ejecutar la consulta y una vez realizada pulsar en el enlace "CREATE VIEW". Al darle a create view debes poner un nombre de vista (view name) y los nombres de las columnas con que desees nombrar las columnas del resultado de la consulta. Una vez tengas la vista creada, puedes hacer consultas sobre ella. En este caso sería un SELECT * FROM nombre_vista WHERE 'current'=1

Salu2

 

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".