FoxPro/Visual FoxPro - Dudas respecto a una consulta a base de datos

 
Vista:
sin imagen de perfil

Dudas respecto a una consulta a base de datos

Publicado por Pablo (2 intervenciones) el 22/05/2017 20:49:41
Buenas tardes. Resulta que estoy tratando de obtener unos datos de mi base de datos y pasarlo a un cursor para su posterior uso, los datos que necesito son de una tabla cabecera de ventas, detalle de ventas y productos.
Específicamente necesito obtener los productos y las cantidades vendidas (esto ya está hecho), el problema se da al momento de pasar estos datos a mi cursor ya que quiero que cada producto aparezca una sola vez con las cantidades sumadas. Ejemplo

en la consulta exista el registro 1 con id 1 y cantidad 5, el registro 2 con id 1 y cantidad 3, el registro 3 con id 2 cantidad 6 y el registro 4 con id1 y cantidad 4.

que de como resultado un cursor con registro 1 id 1 cantidad 12 y un registro 2 con id 2 y cantidad 6

Ojala me haya explicado
Muchas Gracias




SALUDOS!!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil

Dudas respecto a una consulta a base de datos

Publicado por Juan (2 intervenciones) el 23/05/2017 16:24:34
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
CREATE CURSOR grafpordia (cod n(3),producto c(50), can n(8))
suma=0
aux=0
totali=0
 
 
SELECT ven.ventacodigo,ven.ventafecha,det.Productos_productocodigo,det.detallevencantidad, det.Ventas_ventacodigo, pro.productocodigo,pro.productonombre,mar.marcanombre,pro.marca_marcacodigo,mar.marcacodigo,uni.unimedidacodigo,uni.unimedidadescripcion,pro.unimedida_unimedidacodigo;
from detalleventa det,ventas ven,productos pro,marca mar,unimedida uni;
where ven.ventacodigo=det.Ventas_ventacodigo AND det.Productos_productocodigo=pro.productocodigo and pro.unimedida_unimedidacodigo=uni.unimedidacodigo AND  pro.marca_marcacodigo=mar.marcacodigo AND ven.ventafecha=?fechaesp INTO CURSOR consultagra ORDER BY productocodigo
 
SELECT consultagra
GO top
SCAN
	IF i=1 then
		aux=consultagra.productocodigo
		replace grafpordia.cod WITH consultagra.productocodigo
		replace grafpordia.producto WITH consultagra.productonombre
		replace grafpordia.can WITH consultagra.deetallevencantidad
		i=i+1
	ELSE
		IF aux==consultagra.productocodigo then
			suma=consultagra.detallevencantidad
		ELSE
			SELECT grafpordia
			APPEND BLANK
			replace grafpordia.cod WITH consultagra.productocodigo
			replace grafpordia.producto WITH consultagra.productonombre
			replace grafpordia.can WITH consultagra.deetallevencantidad
		endif
 
	ENDIF
endscan
 
 
 
SELECT grafpordia
browse
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Dudas respecto a una consulta a base de datos

Publicado por Fernando (31 intervenciones) el 24/05/2017 22:54:53
Buenas tardes probaste con las vistas, eso es lo mejor
La imagen primera es una tabla con distintas bases de datos unidas en una vista llamada pilar2
y la segunda imagen es la de la vista y las bases que llama, cuando le agarres la mano es bastante facil, y mas rapido


Captura
Captura1
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar