Hola a todos.
Hoy me he topado con el siguiente problema (que en mysql no existe):
Tengo la siguiente consulta:
Código MySQL:
Ver originalSELECT cl.cl_nombre
as 'Customer',cl.cl_custnumber
AS 'Cust Number', mo.mo_nombre
AS 'Currency',CONVERT(varchar, CAST
(ops.om_faccant
AS money
), 1) as 'Maximum loan', CONVERT(varchar, CAST
(dbo.total_prestamo
(ops.om_id
) AS money
), 1) as 'Cumulative loan' ,CONVERT(varchar, CAST
(dbo.AVAILABLE_AMOUNT
(ops.om_id
, ops.om_faccant
)AS money
), 1) as 'Available Balance' FROM opsmemo ops
inner join clientes cl
on cl.cl_id
= ops.cl_id
inner join monedas mo
on mo.mo_id
= ops.mo_id
inner join prestamos pr
on pr.om_id
= ops.om_id
where (dbo.total_prestamo
(ops.om_id
)+(ops.om_faccant
*.1)) >= ops.om_faccant
group by cl.cl_nombre
,cl.cl_custnumber
,ops.om_faccant
,pr.om_id
, ops.om_id
,mo.mo_nombre
Esta consulta devuelve erróneamente 1 registro por cliente, lo cual está mal pues debería devolver un registro por opsmemo (un cliente puede tener varios opsmemo), sin embargo la hice así para que funcionara.
Estuve buscando que hacer para solucionarlo y no entiendo la solución (ni siquiera para dos tablas), entonces me atrevo esta vez a pedir la solución a esta consulta y que me expliquen el funcionamiento para poder hacerlo en futuros casos (y así no volver a pedirles que me resuelvan la vida).
Gracias de antemano y disculpen que les pida la solución directa pero enserio, no entiendo la solución.
PD: les dejo el código solución que encontre (para dos tablas)
Código MySQL:
Ver originalSELECT b.ungroupedColumn
, -- your ungrouped columns a.* -- your grouped columns