none
Filtrar un datatable por prioridad de uno de sus campos. RRS feed

  • Pregunta

  • Hola amigos, despues de varios subconsultas a mi bd, tengo un inconveniente 

    la primera tabla es el resultado de mi consulta, ahora quiero mostrar solo un registro por persona pero dando prioridad segun el tipo, es decir.. si una persona tiene varios tipos se debe seleccionar como primera prioridad  al tipo "Y" descartando a las demas si no tiene el tipo "Y" entonces considerar al tipo "T",  descartando las demas.

    domingo, 22 de julio de 2018 0:55

Todas las respuestas

  • hola

    podrias lograr esto por medio de un SELECT, igualmente consulta el foro de Sql Server, si debes hacerlo en memoria vas a tener que usar linq, pero aconsejaria que lo resuelva la db

    seguramente con alguna subconsulta

    SELECT T1.codigo, T1.personal_id,
      ISNULL(T2.tipo, T3.tipo)  as tipo,
      ISNULL(T2.monto, T3.monto)  as monto,
    FROM Tabla T1
    LEFT JOIN  (SELECT * FROM Tabla WHERE Tipo = 'Y') T2 ON T1.codigo =  T2.codigo
    LEFT JOIN  (SELECT * FROM Tabla WHERE Tipo <> 'Y') T3 ON T3.codigo =  T2.codigo


    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    domingo, 22 de julio de 2018 19:41