Original:
SELECT ALMACEN, UPPER(NOMBRE) NOMBRE, UPPER(PRESENTACION) PRESENTACION, STOCK FROM V_STOCK ORDER BY NOMBRE ASC
Pudiera ser algo así:
SELECT UPPER(a.NOMBRE) NOMBRE, UPPER(a.PRESENTACION) PRESENTACION, (select sum(b.STOCK) as stock from V_STOCK as b where b.almacen='farmacia1' and b.fecha_mov <= '20151031') as stockfar1,(select sum(b.STOCK) as stock from V_STOCK as b where b.almacen='farmacia2' and b.fecha <= '20151031') as stockfar2
FROM <tabla de presentaciones> as a ORDER BY <a.NOMBRE> ASC
Donde coloqué la fecha como un tope para sólo incluir movimientos hasta una fecha, pero eso podría ser cualquier cosa que necesites estoy asumiendo que estás usando SQL y no tablas DBF, por lo que debiera funcionarte bien, pero lo ideal es que sean variables tipo fecha
Por otro lado y para que se cuiden de eso, cuando haces consultas directamente sobre las tablas de la BD SQL, vía sistema o vía consultas del Manager SQL, las tablas se bloquean por esa lectura, para evitar que esto les pase y bloqueen o detengan a los usuarios, o ellos mismos se bloqueen en sus consultas (y más si son muchos usuarios o mucha data), usen el parámetro (nolock), la consulta quedaría así:
SELECT UPPER(a.NOMBRE) NOMBRE, UPPER(a.PRESENTACION) PRESENTACION, (select sum(b.STOCK) as stock from V_STOCK as b (nolock) where b.almacen='farmacia1' and b.fecha_mov <= '20151031') as stockfar1,(select sum(b.STOCK) as stock from V_STOCK as b (nolock) where b.almacen='farmacia2' and b.fecha <= '20151031') as stockfar2
FROM <tabla de presentaciones> as a (nolock) ORDER BY <a.NOMBRE> ASC
Ojo: no diste las tablas ni relaciones u otra cosa para poder ayudarte mejor, pero ésta, es una forma de resolverlo, eso sí, tu sistema debe contemplar algún tipo de cierre o algo parecido porque en el tiempo la cantidad de data de tus tablas de movimientos del inventario podrían llegar a ser descomunales
Cualquier cosa me escribes y te apoyo en lo posible
Saludos
--
_______________________________________________________________
Has recibido este mensaje porque estás suscrito al Grupo "Mundo Visual
FoxPro" de Grupos de Google.
Para anular la suscripción a este grupo, envía un mensaje a:
mundovisualfox...@googlegroups.com
---
Has recibido este mensaje porque estás suscrito al grupo "Mundo Visual FoxPro" de Grupos de Google.
Para anular la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a mundovisualfox...@googlegroups.com.
Para acceder a más opciones, visita https://groups.google.com/d/optout.
|
El software de antivirus Avast ha analizado este correo electrónico en busca de virus.
|
El ejemplo que envías en este mail, tiene el problema que las farmacias o almacenes si están en la misma tabla o vista del v_stock van a aparecer al menos dos veces, o sea farmacia1 y luego cuando aparezca la farmacia2 va a aparecer de nuevo por el GROUP BY, espero me haya sabido explicar
Saludos
De: mundovis...@googlegroups.com [mailto:mundovis...@googlegroups.com] En nombre de Gilberth Grissom
Enviado el: martes, 15 de diciembre de 2015 11:55
Para: publicesvfoxpro; mundovisualfoxpro
--
_______________________________________________________________
Has recibido este mensaje porque estás suscrito al Grupo "Mundo Visual
FoxPro" de Grupos de Google.
Para anular la suscripción a este grupo, envía un mensaje a:
mundovisualfox...@googlegroups.com
---
Has recibido este mensaje porque estás suscrito al grupo "Mundo Visual FoxPro" de Grupos de Google.
Para anular la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a mundovisualfox...@googlegroups.com.
Para acceder a más opciones, visita https://groups.google.com/d/optout.