none
Acomodar esta consulta RRS feed

  • Pregunta

  • Hola como va ?. Tengo esta consulta

     var queryBO = from ex in dbMY.preseleccion
                                      join ex2 in dbMY.preseleccion_obtenido on ex.id equals ex2.id_preseleccion
                                      join ex3 in dbMY.ups on ex.cod_up equals ex3.cod_up
                                      join ex4 in dbMY.preseleccion_remitos on ex.id equals ex4.id_preseleccion
                                      join ex5 in dbMY.ingresos on ex4.id_origen equals ex5.id
                                      join ex6 in dbMY.proveedores on ex5.cod_proveedor equals ex6.cod_proveedor
                                      join ex7 in dbMY.empaque_volcado on ex2.codigo equals ex7.cod_ingreso into tot
                                      from xb in tot.DefaultIfEmpty()
                                          
                                      where ex2.palletizado_directo == "N"
                                      orderby ex.cod_preseleccion ascending
                                      select new
                                      {
                                          Fecha = ex.fecha,
                                          Cod_Pre = ex2.codigo,
                                          Up = ex3.nombre,
                                          Remito = ex4.remito,
                                          Cliente = ex6.nombre,
                                          Obtenido = ex2.cantidad,
                                          Volcado = xb.bins == null ? 0 : xb.bins,
    
                                          Total = ex2.cantidad - (xb.bins == null ? 0 : xb.bins)
                                      };
    Necesito solo mostrar cuando la cantidad se mayor que cero, y aquí explico un poco las tablas son de un programa que no es mío y esta en MYSQL por eso los joins de la tabla preseleccion_obtenido saco un numero Obtenido, luego de la tabla empaque_volcado extraigo Volcado, que puede darse la opcion que no este volcado entonces a ese valor nulo le pongo 0 y cuando hago la resta me queda bien ya que no se volco y obtengo el total de obtenido, ahora el problema es cuando se vuelca porque puede hacerse de forma parcial entonces tengo mas de un código igual, pero ejemplo el codigo 359 tuvo 3 Obtenido y se volco 3 veces entonces Volcado es 1 y en la consulta me resta 3-1 tres veces. Lo que no se hacer es como agrupar y sumar volcado 1+1+1 - obtenido 3 = 0. Desde ya gracias

    miércoles, 14 de julio de 2021 23:25