MySQL Forums
Forum List  »  Spanish

Ayuda para contador
Posted by: mario rossi
Date: April 01, 2009 02:34PM

Buenas les comento tengo que obtener 2 reportes distintos; el primero lo obtengo de la siguiente forma:

SELECT orden.modelo AS 'MODELO', articulo.descrip AS descripcion, IF(sum( if(orden.deposito='A,1,0))='0','-',sum( if(orden.deposito='A',1,0))) AS A,IF(sum( if(orden.deposito='B',1,0))='0','-',sum( if(orden.deposito='B',1,0))) AS B,IF(sum( if(orden.deposito='C,1,0))='0','-',sum( if(orden.deposito='C',1,0))) AS C
FROM orden left join articulo on orden.nv=articulo.codigo
WHERE (orden.modelo Like "CASE%") AND (orden.fecha>'2008-01-01')
GROUP BY orden.modelo
Obtengo el siguiente cuadro:
MODELO

descripcion A B C
CASE10001 CASE 1 - 20 -
CASE10002 CASE 2 50 - -
CASE10003 CASE 3 20 70 2
CASE10004 CASE 4 27 23 30
CASE10005 CASE 5 20 20 20
CASE10006 CASE 6 40 34 20
CASE10007 CASE 7 98 - -
CASE10008 CASE 8 45 20 29
CASE10009 CASE 9 - 19 10
CASE10010 CASE 10 5 2 4
CASE10011 CASE 11 40 40 20

El tema es el siguiente, este cuadro me muestra la totalidad de las ordenes que hay, pero cada orden posee 9 renglones en la tabla ordenrenglon, donde existe algunos que poseen marcas, no siempre es el mismo renglón y muchas veces son varios por orden por lo que cuando uno la tabla y agrego al filtro la marca, me suma 1 por renglón, lo que me multiplica bastante la tabla de arriba:
SELECT orden.modelo AS 'MODELO', articulo.descrip AS descripcion, IF(sum( if(orden.deposito='A,1,0))='0','-',sum( if(orden.deposito='A',1,0))) AS A,IF(sum( if(orden.deposito='B',1,0))='0','-',sum( if(orden.deposito='B',1,0))) AS B,IF(sum( if(orden.deposito='C,1,0))='0','-',sum( if(orden.deposito='C',1,0))) AS C
FROM orden left join articulo on orden.nv=articulo.codigo left join orden on orden.comprobante=ordenrenglon.comprobante
WHERE (orden.modelo Like "CASE%") AND (orden.fecha>'2008-01-01') and ordenrenglon.marca=’S’
GROUP BY orden.modelo
MODELO

descripcion A B C
CASE10001 CASE 1 - 140 -
CASE10002 CASE 2 600 - -
CASE10003 CASE 3 260 795 26
CASE10004 CASE 4 351 299 390
CASE10005 CASE 5 260 260 260
CASE10006 CASE 6 400 354 220
CASE10007 CASE 7 1731 - -
CASE10008 CASE 8 585 260 377
CASE10009 CASE 9 - 228 130
CASE10010 CASE 10 70 28 56
CASE10011 CASE 11 480 520 260

Mientras que lo que tendría que darme es lo siguiente:
MODELO

descripcion A B C
CASE10001 CASE 1 - 20 -
CASE10002 CASE 2 48 - -
CASE10003 CASE 3 - 10 2
CASE10004 CASE 4 10 20 30
CASE10005 CASE 5 - 20 20
CASE10006 CASE 6 - 20 20
CASE10007 CASE 7 48 - -
CASE10008 CASE 8 - 20 29
CASE10009 CASE 9 - 19 10
CASE10010 CASE 10 - 2 4
CASE10011 CASE 11 - 20 20

Mi consulta es existe la forma de poner un contador dentro del where de modo que solo cuente la cabecera 1 ves a pesar de que la oreden tenga varios renglones con marca?

Options: ReplyQuote


Subject
Views
Written By
Posted
Ayuda para contador
4052
April 01, 2009 02:34PM


Sorry, you can't reply to this topic. It has been closed.

Content reproduced on this site is the property of the respective copyright holders. It is not reviewed in advance by Oracle and does not necessarily represent the opinion of Oracle or any other party.