Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

Obtener las salidas de articulos de cierto centro de costos

Estas en el tema de Obtener las salidas de articulos de cierto centro de costos en el foro de Mysql en Foros del Web. Hola a todos, hoy vengo a pedir ayuda para sacar una consulta sql que me esta quitando el sueño, me pase todo el dia de ...
  #1 (permalink)  
Antiguo 09/09/2011, 05:56
 
Fecha de Ingreso: abril-2009
Mensajes: 341
Antigüedad: 14 años, 11 meses
Puntos: 3
Obtener las salidas de articulos de cierto centro de costos

Hola a todos, hoy vengo a pedir ayuda para sacar una consulta sql que me esta quitando el sueño, me pase todo el dia de ayer intentando obtener el resultado correcto y no me salio.

La consulta consiste en obtener las salidas de articulos retornables de cierto centro de costos, entre una fecha de inicio y fin, mostrando la cantidad pedida y la cantidad devuelta de cada salida. Ya que en la salida solo tengo el id del articulo, uso articulos para mostrar el nombre del articulo por ejemplo, y asi hago por cada dato que esta en otras tablas y que necesito mostrar (ver consulta mas abajo)

a continuacion pongo los nombres de las tablas, su campo clave y las llaves foraneas esperando les ayude a encontrar el o los errores que yo no encuentro en la consulta.

articulos - ar_id
un_idsalida
ta_id

unidades - un_id

centro de costos - cc_id

salidas - sa_id
us_id
cc_id

detalle_salidas - ds_id
ar_id
sa_id
un_id

retornos - rt_id
ar_id
sa_id
ds_id
un_id

usuarios - us_id

tipo_articulo - ta_id (no es indispensable)


Esta es la consulta que tengo actualmente, la cual no me trae bien los datos (me muestra cantidades incorrectas o no me muestra registros)

Código MySQL:
Ver original
  1. SELECT Sa.sa_id,US.us_nombre AS Usuario,AR.ar_nombre AS Artículo,AR.ar_descripcion AS Descripción,TA.ta_concepto AS Tipo,
  2. UN.un_nombre AS Unidad,DS.ds_cant AS 'Cant. Prestada',RT.rt_cant AS 'Cant. Devuelta', Sa.sa_fecha AS Fecha
  3. FROM articulos AS AR, retornos AS RT,unidades AS UN,centro_costos AS CC, usuarios AS US, tipo_articulo AS TA, salidas AS SA,
  4. retornos AS RTa LEFT JOIN detalle_salidas AS DS ON DS.ds_id=RTA.ds_id, retornos AS RTa1 LEFT JOIN detalle_salidas AS SA1 ON SA1.ar_id=RTA1.ar_id
  5. WHERE TA.ta_id=AR.ta_id AND AR.ar_id=DS.ar_id AND CC.cc_id=SA.cc_id AND SA.sa_id=DS.sa_id
  6. AND UN.un_id=AR.un_idsalida AND US.us_id=SA.us_id AND AR.ar_id=RT.ar_id
  7. AND AR.ar_retornable=1 AND CC.cc_concepto='12345'
  8. AND SA.sa_fecha BETWEEN '2011-01-01' AND '2011-11-01' ORDER BY Us.us_nombre,Ar.ar_nombre

Cabe mencionar que uso left join por que necesito traerme todas las salidas de ese centro de costos aun cuando no se hayan hecho devoluciones correspondientes a cierta salida (deberia mostrar un cero en la cantidad devuelta o la cantidad que se ha devuelto que puede no ser toda la que salio en esa salida).

Gracias y mil disculpas por molestarlos con esto pero me urge arreglarlo (seguire intentando sacar la consulta correcta si no es que se me adelanta alguno de uds).

PD: se que esta dificil ayudarme cuando en si les pido me hagan la consulta pero enserio, no he podido sacarla, de hecho lo estoy dejando pendiente para hacer otras cosas que tambien se deben entregar pronto (en si aca es solo 1 reporte y lo otro es apenas empezarlo). Gracias de nuevo.

Última edición por LOD_Fredy; 09/09/2011 a las 17:55

Etiquetas: articulos, centro, costos, join, registros, salidas, select, sql, tabla
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 16:02.